consulting-adrs
Check a design, change, pull request, plan, or threat model against Bitwarden's Architecture Decision Records (ADRs), or locate…
This skill should be used when the user asks to "review the security architecture", "check authentication patterns", "evaluate trust boundaries", "review encryption implementation", "assess authorization design", or needs to evaluate system designs for authentication,
$ npx -y skills add bitwarden/ai-plugins --skill reviewing-security-architecture --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/reviewing-security-architectureContext preview
The summary Claude sees to decide when to auto-load this skill.
This skill should be used when the user asks to "review the security architecture", "check authentication patterns", "evaluate trust boundaries", "review encryption implementation", "assess authorization design", or needs to evaluate system designs for authentication,
name: reviewing-security-architecture description: This skill should be used when the user asks to "review the security architecture", "check authentication patterns", "evaluate trust boundaries", "review encryption implementation", "assess authorization design", or needs to evaluate system designs for authentication, authorization, data protection, or cryptographic correctness.
Review these aspects of token-based authentication:
| Aspect | Secure Pattern | Anti-Pattern | | -------------------- | ----------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Issuance** | Short-lived tokens with refresh mechanism | Long-lived tokens that never expire | | **Validation** | Validate signature, issuer, audience, and expiry on every request | Validate only the signature, or skip validation for "internal" calls | | **Storage (server)** | Stateless JWT or server-side session store | Token stored in querystring or URL | | **Storage (client)** | HttpOnly Secure cookies or secure platform storage | localStorage, sessionStorage, or cookies without HttpOnly/Secure flags | | **Refresh** | Refresh token rotation (old refresh token invalidated on use) | Reusable refresh tokens with no rotation | | **Revocation** | Token blocklist or short expiry + refresh rotation | No revocation mechanism for compromised tokens |
// CORRECT — explicit role check at the API layer [Authorize(Roles = "Admin")] public async Task<IActionResult> DeleteUser(Guid userId) // WRONG — checking role in business logic with string comparison if (currentUser.Role == "admin") // Fragile, case-sensitive, easy to bypass
// WRONG — trusts the userId from the route, no ownership check
public async Task<Cipher> GetCipher(Guid cipherId) {
return await _cipherRepository.GetByIdAsync(cipherId);
}
// CORRECT — verify the requesting user owns the resource
public async Task<Cipher> GetCipher(Guid cipherId) {
var cipher = await _cipherRepository.GetByIdAsync(cipherId);
if (cipher.UserId != _currentContext.UserId)
throw new NotFoundException();
return cipher;
}When reviewing architecture, identify data by classification:
| Classification | Examples | Required Protection | | ---------------- | --------------------------------------------- | ----------------------------------------------- | | **Critical** | Encryption keys, master passwords, vault data | End-to-end encryption, HSM key storage | | **Confidential** | PII, email addresses, billing info | Encryption at rest + in transit, access logging | | **Internal** | Organizational settings, feature flags | Encryption in transit, role-based access | | **Public** | Marketing content, public API docs | Integrity protection |
A trust boundary exists wherever data crosses between components with different levels of trust. Every crossing must be validated.
Client ←→ API Gateway (user-controlled → server-controlled) API Gateway ←→ Backend Service (internet-facing → internal) Backend Service ←→ Database (application → data store) Service ←→ External API (internal → third-party) Browser ←→ Browser Extension (page co
A curated collection of plugins for AI-assisted development at Bitwarden. Enables discovery and distribution of quality-controlled plugins for use with Claude Code.
Check a design, change, pull request, plan, or threat model against Bitwarden's Architecture Decision Records (ADRs), or locate…
Use when the user provides a single Jira issue key and asks whether it is still relevant, still applicable, still pending, still…
File Jira work items that stand on their own, with real ticket titles, acceptance criteria in whatever field the target project…
Use whenever the user mentions a Jira issue key and wants more than a surface-level lookup — "Read PROJ-123", "What's PROJ-123…
Use when the user is addressing pull request review comments locally and asks for help evaluating, implementing, or drafting…
Use this skill to validate findings during a code review. For each finding, run the rejection criteria and verification checks.…