Bitwarden Security Engineer
Skill 46 of 65
This skill should be used when the user asks to “create a threat model”, “define security goals”, “generate a data flow diagram”, “write security definitions”, “perform an initial…
8 minutes · 1,726 words · 13 sections
Install
npx skills add bitwarden/ai-plugins --skill threat-modelingnpx skills add bitwarden/ai-plugins/plugin marketplace add bitwarden/ai-pluginsThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
Bitwarden follows a 4-phase engagement model for security work. This skill primarily supports Phase 1 (engineering-owned) and assists with Phase 2-4 artifacts.
${CLAUDE_PLUGIN_ROOT}/references/adr-alignment.md) — a threat model should align with already-accepted architecture, not silently re-derive or contradict itreferences/stride-framework.md)Security Definitions (SDs) are Bitwarden’s formal construct for communicating the security posture of a system. Each definition has three components: a threat model (attacker capabilities), security goals (what the system guarantees), and an accepted goal status (honest assessment of whether the goal is currently met).
Use Bitwarden’s standard vocabulary when writing definitions — see references/bitwarden-vocabulary.md for the full glossary. Align security goals with Bitwarden’s security principles (P01-P06) — see references/security-principles.md.
Describe attacker capabilities AND limitations — what they can and cannot do. Always state both sides to scope the definition precisely:
Include concrete examples where helpful (e.g., “An example for this is a stolen device”). Don’t assume external mitigations are in place — even if obtaining an auth token is difficult, still explore what happens if an attacker has one.
Apply these rules when scoping the threat model:
references/writing-quality-sds.md for the dominated-threat anti-pattern and the term Dominated Threat in references/bitwarden-vocabulary.md.State concise, testable guarantees about what cannot happen given the threat model. Reference specific assets (tokens, keys, vault data):
Every goal carries a Rationale — three pieces, one line each:
references/security-principles.md.A goal without a rationale is a claim, not a requirement. Rationales let reviewers judge whether the goal is load-bearing or can be cut.
Two additional rules on goal framing:
process.env or argv, the implementation MUST use stdin or an inherited file descriptor. An SD whose goal forbids env exposure but whose implementation passes the secret through env is internally inconsistent — fix the design, or fix the goal, but do not ship both.Provide an honest assessment of the current state:
When a goal is known to be broken, link to the relevant tracking issue. Note scoping caveats (e.g., “These definitions do not apply in the case of a Vault Timeout set to Never“).
Two additional rules:
bw unlock, which scales with KDF iterations and vault size — observed between 1 and 8 seconds on representative hardware.” Brief without a number is not an accepted status — it is a hope. See the Exposure Window vocabulary entry.references/writing-quality-sds.md for the prioritization heuristic.Use the templates in examples/ when generating artifacts:
examples/security-definition-document.md — Full SD document template with glossary, numbered definitions, Criticality tagging, goal rationale, and accepted goal statusexamples/data-flow-diagram.md — Mermaid DFD template with trust boundariesexamples/threat-catalog.md — Threat catalog table and mitigation tracking templatesConsult these references when writing or reviewing SDs:
references/writing-quality-sds.md — Anti-patterns (dominated threats, adversarial-only attackers, unenforceable goals, aspirational limitations, shell-quoting SDs, the “brief exposure” trap) and the self-consistency checklistreferences/bitwarden-vocabulary.md — Standard terms, including Passive Observer, Dominated Threat, and Exposure Windowreferences/security-principles.md — P01–P06, referenced by every goal’s Rationale linereferences/stride-framework.md — STRIDE categories for structured threat identification${CLAUDE_PLUGIN_ROOT}/references/adr-alignment.md — Architecture Decision Record alignment checks shared across security-engineer skillsTeams should initiate a full engagement with the AppSec team (#team-eng-appsec) when:
Quick questions (e.g., concerns about a third-party library or coding practice) don’t need a full engagement — post those directly to #team-eng-appsec.
Before finalizing a set of SDs, apply the self-consistency checklist in references/writing-quality-sds.md.
This skill should be used when the user asks to "create a threat model", "define security goals", "generate a data flow diagram", "write security definitions", "perform an initial security assessment", or needs to produce threat model artifacts for new features or architecture changes.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
main, last pushed 22 September 2026.SKILL.md, not by matching a directory convention. 13 distinct layouts observed: plugins/bitwarden-atlassian-tools/skills/*/SKILL.md, plugins/bitwarden-code-review/skills/*/SKILL.md, plugins/bitwarden-delivery-tools/skills/*/SKILL.md, plugins/bitwarden-design-tools/skills/*/SKILL.md, plugins/bitwarden-designer/skills/*/SKILL.md, plugins/bitwarden-devops-engineer/skills/*/SKILL.md, plugins/bitwarden-product-analyst/skills/*/SKILL.md, plugins/bitwarden-security-engineer/skills/*/SKILL.md, plugins/bitwarden-shepherd/skills/*/SKILL.md, plugins/bitwarden-tech-lead/skills/*/SKILL.md, plugins/bitwarden-testing-tools/skills/*/SKILL.md, plugins/claude-config-validator/skills/*/SKILL.md, plugins/claude-retrospective/skills/*/SKILL.md..claude-plugin/marketplace.json by Bitwarden, declaring 16 plugins. It is read for editorial metadata only — never as the skill index, which is always the repository tree./bitwarden/ai-plugins.md, and each skill at its own .md URL.7 files · 23 KB
Everything this skill ships beside its prose. All of it is set here, as subchapters of skill 46.
Documentation the agent loads on demand, rather than up front.
Everything else published alongside the skill.