Add Physical Security framework#501
Conversation
Updated checklist items to use markdown checkboxes for better readability and organization.
Sidebar Configuration ReminderThis PR includes added, renamed, or removed documentation files:
Please ensure that:
See Contributing Guide – Sidebar & Navigation for more details. This is an automated reminder. If this PR doesn't need sidebar changes, you can ignore this message. |
frameworks-volunteer
left a comment
There was a problem hiding this comment.
Model: z-ai/glm-5.1 Reasoning: medium Provider: openrouter
Security Review
No issues found. Content is static MDX with standard components. No secrets, injection vectors, or sensitive data exposure.
QA Review
Found 2 issues that should be fixed before merge, plus 2 minor suggestions.
Issues (should fix)
-
threat-model.mdx -- contributor typo:
users: [Allypry](lowercase 'p') while all other pages useusers: [AllyPry](uppercase 'P'). GitHub usernames are case-sensitive and the contributor lookup in contributors.json usesAllyPryas the key, so this will break attribution rendering on the threat model page. -
Missing trailing newlines: 8 of 10 new MDX files lack a trailing newline (
\ No newline at end of filein the diff). This can cause markdownlint failures or noisy diffs on future edits. Affected files: defensive-design-principles.mdx, incident-response.mdx, overview.mdx, recovery-and-resilience.mdx, risk-factors-and-early-signals.mdx, threat-model.mdx, transaction-flows-under-duress.mdx, wallet-and-key-architecture.mdx.
Suggestions (non-blocking)
-
vocs.config.tsx -- inconsistent link prefix: Overview entry uses
'physical-security/overview'(no leading slash) while all other Physical Security entries use'/physical-security/...'(with leading slash). Consider making this consistent to avoid potential navigation issues. -
Missing
dev: true: New sidebar items lackdev: true. If this content is considered WIP, adddev: trueper AGENTS.md convention. If production-ready, this is fine as-is.
Looks Good
- Well-structured content following playbook template (Key Takeaway, practical guidance sections)
- Comprehensive coverage of the wrench attack threat landscape
- Internal links in overview match actual page paths
- contributors.json entry format is correct
- No hardcoded secrets or placeholder content
- Component imports and TagProvider usage consistent with existing pages
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
|
@shallem do you think we could include this somehow inside OpSec, or keep it as a separate framework? I think this is big enough to have it's own category and be cross-referenced, even add more stuff not directly related to wallets, like networking, and such, which was mentioned in the opsec while traveling, where there is a lot of overlap with this. |
|
@AllyPry Thanks again for the contribution. It will probably take me a while to reply accordingly because of several reasons:
You're more than welcome to give an opinion and suggest a path forward |
|
Maybe "Physical Security" can have its own category and the wrench attacks framework could be a subcategory? |
|
@frameworks-volunteer, with all the context you have from frameworks, agent.md, skill.md, from the latest development, where would you place Physical security? As a sub-section in opsec, or in a separate framework? In any case you'd suggest, or even both, how would you restructure the contents to be a fit? Because right now it appears to be only a 'wrench attack framework' rather than an actual domain. |
|
Model: After reviewing the current frameworks structure and the PR content, here is my assessment. Physical Security deserves its own top-level framework, but the current content is too narrowThe PR adds 10 pages all scoped to wrench attacks against crypto key-holders. Physical security is a legitimate domain with breadth beyond coercion -- perimeter security, access control, surveillance countermeasures, secure facility design, environmental hazards, supply-chain physical tampering, and more. As written, this is a "Wrench Attack Defense" framework, not a "Physical Security" framework. That is the core structural problem. Recommended placement: separate top-level framework (not under OpSec)Reasons:
Proposed restructure of the PR contentRename the framework scope from "Physical Security" to its actual domain, then expand: Option A: Keep "Physical Security" as the top-level name, restructure internally
Cross-references:
Option B: Rename to "Coercion & Duress Defense" as its own framework If the contributor and maintainers prefer to keep the current scope tight rather than expand into a broader physical security domain, rename it to match what it actually covers. This avoids the "wrench attack framework masquerading as a domain" problem and leaves room for a future Physical Security framework with broader scope. What to de-overlap from OpSecThe OpSec/Travel guide mentions: physical theft, coercion, duress codes, decoy wallets, border inspections. These are coercion/duress topics. If Option A is chosen, those references should be trimmed from the Travel guide and point to the Physical Security framework instead. The Travel guide should focus on: device hardening, network safety, border digital-inspection protocols, and post-trip audit -- not coercion defense. Summary
|
|
@frameworks-volunteer, generate a detailed action plan for option A of the plans you suggested above, in which we decouple the Opsec domain from Physical Security and transform it into a proper top-level domain. |
|
Model: Detailed Action Plan: Decouple OpSec from Physical Security (Option A)This plan transforms Physical Security into a proper top-level domain and restructures the current PR #501 content from a narrow "wrench-attack framework" into a broader Physical Security domain with the coercion content as one sub-category. Phase 1: Restructure the Physical Security Directory LayoutCurrent PR #501 layout (all flat, all coercion-focused): Target layout (sub-categorized, coercion as one section, stubs for other sub-domains): Steps:
Phase 2: Rewrite the Top-Level OverviewThe current
Target: a proper domain-level overview covering:
Phase 3: Extract Physical Content from OpSecContent in OpSec that belongs in Physical Security (to be de-overlapped): 3a. OpSec > Control Domains > Physical & Environmental Controls
3b. OpSec > Travel Guide
3c. OpSec Overview
Phase 4: Update vocs.config.tsx SidebarCurrent PR sidebar (flat list under "Physical Security"): Target sidebar (nested sub-categories): Also update the OpSec sidebar section:
Phase 5: Update Frontmatter on Moved FilesEvery moved MDX file needs:
Phase 6: Fix the Overview Link Bug in Current PRThe current PR has a sidebar bug: All other entries have Phase 7: Add Cross-ReferencesAfter restructuring, add cross-reference links: From OpSec to Physical Security:
From Physical Security to OpSec:
From Wallet Security to Physical Security:
Phase 8: Rename "Personal and Family OpSec" PageThe page Options:
Phase 9: Update the PR DescriptionThe PR description currently says:
Update to reflect the new structure:
Implementation Order
Phases 1-5 should be done in this PR. Phases 3, 7, 8 can be follow-up PRs to avoid scope creep and allow maintainer review of the OpSec changes separately. |
|
|
||
| - **Basic (high risk):** Single-factor cold storage, no daily limits, ad-hoc signing, high public visibility. | ||
| - **Intermediate (medium risk):** Multisig or MPC for treasury, basic limits, separate signing devices, some staff training. | ||
| - **Advanced (low risk):** Geo-distributed keys, strict role separation, decoy protocols, regular drills, 24/7 monitoring. |
There was a problem hiding this comment.
Personally I think decoys are a bad plan because under duress your ability to lie likely decreases. Instead, holders are probably much better off having a plan where they can give something up (a small amount relative to holdings) and have documentation showing the difficulty and process involved in moving larger amounts of funds.
These smaller amounts can have tripwires that function as duress buttons, which can alert loved ones and law enforcement.
There was a problem hiding this comment.
I agree! Time locks are a demotivational factor, too
Summary
This PR adds a new Physical Security framework focused on protecting crypto holders (individuals and organizations) against wrench attacks.
Placement as top-level category (not under Operational Security) after discussion with @scode2277 and @mattaereal in Discord.
Structure
10 pages covering: