You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My goal here is to define the taxonomy of frameworks, how it should be structured, and how this structure will change as it grows & interact with certs.
Taxonomy
Frameworks is a collection of structured documentation which can be referenced, either by certs or the general public, focused on blockchain security and actionable steps.
Certs is a collection of benchmarks and playbooks, categorized by specific domains, which can be used to measure a protocol's alignment with frameworks.
Relationship structure
---
title: Frameworks
---
flowchart LR
MaturityModel{Security Profiles} --Which to follow--> Document
Benchmark{Benchmarks} --Measured by--> Document
Document --Best-practices for--> Benchmark
Benchmark --How to implement--> Playbooks
Security Profiles are metrics by which we categorize different frameworks for different groups. "Who is this for?"
Documents are textual descriptions of where a protocol should be. "What good looks like?"
Benchmarks are checklists used to measure a protocol's completion of a framework. "How do you measure good?"
Playbooks are textual guides on how to accomplish a specific objective / handle a specific scenario. "How do we do this?"
Open Questions
How strictly should frameworks abide by the above taxonomical structure?
How should this structure be embedded in documents? Per-document classification, intra-document, or something else?
Are we ok with adding metadata (IE more toml frontmatter, metadata within documents), or do we want structure to be defined somehow else (structural, via external metadata files).
Current plan
Phase 1: Certs and frameworks will be semi-seperated. Frameworks will act as a store for playbooks and documents which will be referenced by certs, while certs will store benchmarks and security profiles. Practical example: imagine splitting up multisig best practices into several frameworks (IE security policies, device setup, wallet setup, communication requirements, transaction verification). Certs will then reference these frameworks instead of writing its own content.
Phase 2: As frameworks becomes a richer repository of content, certs can migrate security profiles and benchmarks into frameworks, and begin generating certs procedurally from frameworks.
Procedural generation allows for much greater cert granularity and specificity, keeping documents shorter and more targeted. However, it also comes with more upfront work and less customization, so we should only do this if we're sure it's the right move.
Example
Example for a simplified wallet security cert / framework.
# Wallet Security Framework
Comprehensive security practices for wallet operations across different roles and risk levels.
## Security Profiles### Role Axis-**signer**: Individual signer
-**admin**: Multisig manager / admin
### Value Axis-**low**: <$100k exposure
-**medium**: $100k-1M exposure
-**high**: $1M-10M exposure
### Timescale Axis-**everyday**: Everyday access, over 12 hour response times acceptable
-**emergency**: Emergency access is required, under 12 hour response time
wallet-security.md
---document_type: "framework"---# Wallet Security Framework## Hardware Requirements (all)
All wallet operations must use approved hardware wallets. Software wallets create unacceptable security risks for multisig operations.
**Approved Hardware:**- Ledger Nano S Plus, Ledger Stax
- Trezor Model One, Trezor Safe 3
Purchase only from manufacturers or authorized resellers. Verify tamper-resistant packaging before use.
## Backup Hardware (medium OR high)
Maintain backup hardware wallet with identical seed phrase stored in separate secure location. Test backup device functionality monthly to ensure recovery capability.
Critical requirement: backup device must be kept in geographically separate location from primary device.
## Dedicated Devices (operator OR admin AND high)
Use hardware wallets exclusively for multisig operations. No DeFi interactions, NFT trading, or personal transactions on the same device.
This isolation prevents cross-contamination from potentially compromised dApps or smart contracts.
benchmark.yaml
benchmarks:
hardware_requirements:
title: "Use Hardware Wallets"description: "All signers must use approved hardware wallets for key operations"verification: "Demonstrate hardware wallet setup and test signature"evidence: ["Hardware wallet model/serial", "Test transaction signature"]backup_hardware:
title: "Maintain Backup Hardware"description: "Keep functional backup hardware wallet with same seed"verification: "Show backup device can sign test transaction"evidence: ["Backup device photo", "Successful backup signature"]dedicated_devices:
title: "Dedicated devices"description: "The hardware wallet must exclusively be used for multisig operations"
hardware-wallet-setup.md
---document_type: "guide"---# Hardware Wallet Setup Guide
Step-by-step instructions for secure hardware wallet configuration.
## Initial Setup (all)### Purchase and Verification1. Buy only from manufacturer or authorized resellers
2. Verify tamper-resistant packaging is intact
3. Check device for physical tampering
### Firmware and PIN1. Update to latest firmware before creating accounts
2. Set strong, unique PIN (different from other devices)
3. Never use pre-generated seed phrases
## Backup Configuration (operator OR admin AND high)### Backup Device Setup1. Generate seed on primary device
2. Set up backup device with same seed
3. Test both devices can sign transactions
4. Store backup in separate secure location
My goal here is to define the taxonomy of frameworks, how it should be structured, and how this structure will change as it grows & interact with certs.
Taxonomy
Relationship structure
--- title: Frameworks --- flowchart LR MaturityModel{Security Profiles} --Which to follow--> Document Benchmark{Benchmarks} --Measured by--> Document Document --Best-practices for--> Benchmark Benchmark --How to implement--> PlaybooksWhere:
Open Questions
Current plan
Example
Example for a simplified wallet security cert / framework.
index.md
wallet-security.md
benchmark.yaml
hardware-wallet-setup.md