Security Model
Security Model
Key Man Out is built on a zero-knowledge security architecture, meaning the server never has access to your encrypted secrets. This document explains how the security model works and what you need to know to keep your assets safe.
Zero-Knowledge Architecture
What is Zero-Knowledge?
Zero-knowledge means that the Key Man Out server cannot decrypt or read your sensitive secrets, even if it wanted to. Your secrets (passwords, API keys, confidential text) and file attachments are encrypted on your device before being sent to the server, and they can only be decrypted by people who have the team's vault key phrase.
What Gets Encrypted:
- Asset secrets (the sensitive text content)
- File attachments
What Is NOT Encrypted (stored as plaintext for service functionality):
- Asset titles/names
- Asset instructions (markdown notes)
- Website URLs
- Guardian assignments
- Access request records
- Team names and settings
What This Means for You:
- The service operators (us) cannot read your secrets
- If the server is compromised, attackers cannot decrypt your secrets (though they could see asset metadata)
- If law enforcement requests data, we cannot provide unencrypted secrets
- You have true privacy and control over your sensitive information
The Tradeoff:
- If you lose your team vault key phrase, your encrypted secrets are gone forever
- We cannot reset or recover your vault key phrase for you
- You must carefully store your vault key phrase in a safe location
Team Vault Key Phrase
What is the Vault Key Phrase?
The vault key phrase is a password-like secret that encrypts all secrets and file attachments in your team. Every asset's sensitive content in a team shares the same vault key phrase, which means:
- All team members who need to view secrets must know the vault key phrase
- The vault key phrase can be rotated (changed) with multi-party approval (see Key Rotation below)
- Losing the vault key phrase means losing access to all encrypted secrets (though asset metadata remains accessible)
Creating a Strong Vault Key Phrase
When creating a team, you'll be prompted to enter a vault key phrase. Follow these guidelines:
Length:
- Minimum: 12 characters (enforced)
- Recommended: 20+ characters
- Better: 30+ characters or a passphrase
Complexity:
- Use a mix of uppercase, lowercase, numbers, and symbols
- Avoid common words, phrases, or patterns
- Don't use personal information (names, birthdays, etc.)
Examples:
❌ Weak: MyTeamPassword123
- Too short, predictable pattern
✅ Good: Tr0pic@l-F1sh!Sw1m_Deep#2024
- 32 characters, mixed case, numbers, symbols
✅ Better: correct horse battery staple umbrella fountain keyboard rainbow
- Passphrase with random words, easy to remember, very strong
Passphrase Method (Recommended):
- Choose 5-7 random, unrelated words
- Combine them with spaces or separators
- Optionally add numbers or symbols
- Example:
purple elephant 7 dancing microwave sunset cloud
Storing Your Vault Key Phrase Safely
CRITICAL: Your vault key phrase must be stored somewhere safe and accessible. If you lose it, your encrypted secrets are permanently unrecoverable.
Safe Storage Options:
- Password Manager (Recommended):
- Store in 1Password, Bitwarden, LastPass, etc.
- Ensure multiple team members have access
- Use a master password that's also well-protected
- Physical Safe:
- Write on paper and store in a fireproof safe
- Keep copies in multiple secure locations
- Ensure trusted people know where to find it
- Company Vault:
- Store with other critical company credentials
- Follow your organization's key management procedures
- Ensure business continuity if key personnel leave
Unsafe Storage Options:
❌ Never Store:
- In plain text files on your computer
- In unsecured notes or documents
- In unencrypted email
- In Slack, Teams, or other chat apps
- In browser auto-fill (unless password manager)
- Written on a Post-it note on your desk
Vault Key Phrase Reminder Field
During team creation, you can optionally enter a key phrase reminder:
- This is a hint to help you remember the vault key phrase
- The reminder is stored on the server and shown when you need to unseal
- Never include the actual vault key phrase or obvious parts of it
- Use only vague hints that make sense to you
Examples:
If your key phrase is purple elephant 7 dancing microwave sunset cloud:
❌ Bad Reminder: purple elephant 7 dancing
- Too revealing, could help attackers
✅ Good Reminder: 7 random nouns from the zoo incident
- Meaningful to you, useless to attackers
If your key phrase is Tr0pic@l-F1sh!Sw1m_Deep#2024:
❌ Bad Reminder: tropical fish 2024
- Gives away too much information
✅ Good Reminder: vacation memory from last summer
- Only you know what that means
Client-Side Encryption
How It Works
All encryption and decryption of secrets happens in your web browser using the Web Crypto API:
- When You Create/Edit an Asset:
- You enter the secret content in your browser
- Your browser encrypts the secret using the team vault key phrase
- Only the encrypted secret is sent to the server
- The server stores the encrypted secret without knowing the vault key phrase
- Asset metadata (title, instructions, website URL) is sent and stored unencrypted
- When You View a Secret:
- The server sends the encrypted secret to your browser
- Your browser decrypts it using the team vault key phrase from session storage
- The decrypted secret is shown to you
- The server never sees the decrypted content
Encryption Algorithm
Key Man Out uses AES-256-GCM (Advanced Encryption Standard, 256-bit, Galois/Counter Mode):
- AES-256: Industry-standard symmetric encryption, approved by NIST
- 256-bit: Provides extremely strong security (2²⁵⁶ possible keys)
- GCM Mode: Provides both encryption and authentication (prevents tampering)
- PBKDF2: Key derivation with 100,000 iterations (makes brute-force attacks harder)
Technical Details:
- Key derivation: PBKDF2-SHA256 with 100,000 iterations
- Random salt: 16 bytes per asset (ensures unique encryption)
- Random IV: 12 bytes per asset (prevents pattern analysis)
- Authentication: Built into GCM mode
What Gets Encrypted with the Vault Key Phrase
Encrypted Data (stored encrypted on server, requires vault key phrase to access):
- Asset secret content (passwords, API keys, confidential text)
- Asset file attachments (the file content itself)
Unencrypted Data (stored in plain text on server, accessible without unsealing):
- Asset name/title
- Asset website URL
- Asset instructions (markdown notes)
- File attachment metadata (name, size, type)
- Guardian assignments
- Access request records
- Team name and settings
Why Not Encrypt Everything with the Vault Key Phrase?
- You need to be able to browse and identify assets without unsealing
- Access control and permissions need to work without decryption
- Instructions should be readable to help Successors understand when to request access
- Service functionality (notifications, audit trails) requires some accessible metadata
Sealed and Unsealed States
Team Sealing Concept
A team is like a physical vault with two states:
- Sealed (🔒): Vault is locked, you cannot view encrypted secrets
- Unsealed (🔓): Vault is open, you can view and edit encrypted secrets
Sealed State
When a team is sealed:
- You can browse asset names, websites, and instructions (unencrypted metadata)
- You cannot view encrypted secret content
- You cannot edit asset secrets (because editing requires re-encryption)
- The vault key phrase is not in your browser's memory
- Maximum security for secrets - even if your computer is compromised, encrypted content is safe
When Sealed:
- Immediately after login
- After 30 minutes of inactivity (auto-reseal)
- When you manually click "Reseal Vault"
- When you close your browser or tab
Unsealing a Team
To unseal a team and view secrets:
- Click "Unseal Vault" button in the sidebar
- Enter your team vault key phrase
- The vault key phrase is verified against a hash (stored on server)
- If correct, the vault key phrase is stored in browser session storage
- The team shows as "Unsealed" with a countdown timer
- You can now view and edit encrypted asset secrets
Security Notes:
- The vault key phrase is verified using a hash, not by attempting decryption
- The vault key phrase is only stored in session storage (cleared when browser closes)
- Session storage is isolated per browser tab (other tabs don't have access)
- The server never receives the actual vault key phrase during unsealing
Auto-Reseal After 30 Minutes
For security, the vault automatically reseals after 30 minutes of inactivity:
- A countdown timer shows remaining time in the sidebar
- When time expires, the vault key phrase is removed from session storage
- You must unseal again to view secrets
- Any unsaved work is preserved (see Persistent Editor below)
Why 30 Minutes?
This balances security with usability:
- Short enough that forgotten open sessions don't pose long-term risk
- Long enough that you're not constantly re-entering the key phrase
- You can manually reseal earlier if you're leaving your desk
Manual Resealing
You can reseal the vault at any time:
- Click the "Reseal Vault" button in the sidebar
- The vault key phrase is immediately removed from session storage
- You can no longer view encrypted secrets until you unseal again
When to Manually Reseal:
- Before stepping away from your computer
- When finished working with sensitive data
- If you suspect someone is watching your screen
- At the end of your work session
Key Rotation
Key rotation allows you to change your team's vault key phrase without losing access to your encrypted secrets. This is essential for maintaining security when:
- An employee with vault key phrase knowledge leaves the organization
- You suspect the vault key phrase may have been compromised
- Your security policy requires periodic key rotation
- You want to upgrade to a stronger vault key phrase
How Key Rotation Works
Key rotation is a multi-step, multi-party process designed to ensure security:
- Initiation: A team owner or admin initiates the rotation by providing the current vault key phrase and proposing a new one
- Approval: All other team owners/admins must independently enter the new vault key phrase to verify they have it
- Execution: Once all approvals are received, the initiator's browser decrypts all secrets with the old key and re-encrypts them with the new key
- Atomic Commit: All re-encrypted secrets are committed to the server atomically, along with the new key hash
Important: The server never sees either the old or new vault key phrase—only their hashes. All decryption and re-encryption happens in your browser.
Starting a Key Rotation
- Navigate to Team Settings > Security
- Click Rotate Key Phrase
- Enter your current vault key phrase (to prove you have access)
- Enter and confirm the new vault key phrase (minimum 12 characters)
- Optionally set a new key reminder
- Acknowledge that you've shared the new key with approvers
- Click Request Rotation
For single-owner teams, the rotation proceeds immediately. For teams with multiple owners/admins, the rotation enters the approval phase.
Approving a Key Rotation
When another admin initiates a rotation:
- You'll see a notification in the Team Settings > Security section
- Click Approve Rotation
- Enter the new vault key phrase that was shared with you (through a secure channel)
- The system verifies your vault key phrase matches the initiator's
- If it matches, your approval is recorded
Security Note: The initiator should share the new vault key phrase through a secure out-of-band channel (in person, encrypted message, password manager share)—never through regular email or chat.
Executing the Rotation
Once all required approvals are received:
- The initiator sees a Ready to Execute status
- Click Execute Rotation
- Enter both the old and new vault key phrases
- The browser downloads all encrypted secrets
- Each secret is decrypted with the old key and re-encrypted with the new key
- Progress is displayed during the process
- All re-encrypted secrets are committed atomically
Warning: Do not close the browser window during execution. The process cannot be interrupted safely.
Safeguards and Limits
- 24-Hour Cooldown: You can only rotate once every 24 hours
- 48-Hour Expiration: Pending rotations expire if not completed within 48 hours
- 1-Hour Execution Timeout: If execution stalls for more than 1 hour, the rotation is marked as failed
- Hash Verification: All approvers must enter the exact same new vault key phrase
- Atomic Commit: Either all secrets are updated or none are—no partial updates
After Rotation
- All team members will need the new vault key phrase to unseal the vault
- The old vault key phrase will no longer work
- Previously viewed secrets may need to be re-accessed with the new key
- The rotation is logged in the team's security history
- A notification is sent to all team members
Best Practices for Key Rotation
- Communicate First: Ensure all team members know a rotation is planned
- Use Secure Channels: Share the new vault key phrase in person or via encrypted message
- Verify Approvers: Confirm each approver received the correct new vault key phrase
- Time It Right: Rotate during low-activity periods to minimize disruption
- Update Storage: After rotation, update your password manager and any physical records with the new vault key phrase
Access Control and Permissions
Who Can View Secrets?
The Guardian System controls who can view encrypted secrets:
- Custodians: Always have access (they created the asset)
- Gatekeepers: Never have access (even with approved request)
- Successors: Only with an approved access request
See Guardian System for full details on roles.
Access Request Security
When a Successor requests access:
- The request is logged with timestamp, IP address, and location
- All guardians are notified via email
- Access requires approval (manual, time-delay, or DNS verification)
- Once approved, access is permanent until revoked
This ensures:
- No unauthorized access to secrets
- Audit trail of all access attempts
- Multiple people are aware of access grants
- Custodians can monitor who views their secrets
Secret Access Logging
Every time someone views an encrypted secret:
- Who: User identity
- When: Timestamp (date and time)
- Where: IP address and geographic location (if available)
- What: Which asset was accessed
Custodians receive email notifications including this information, allowing them to:
- Monitor access to their sensitive data
- Detect unauthorized access
- Build an audit trail for compliance
- Identify suspicious patterns
Note: Access logging only tracks viewing the secret, not:
- Viewing asset name, website, or instructions
- Browsing the asset list
- Editing asset metadata (since that requires the secret to be re-encrypted, it's inherently logged)
File Attachment Security
File attachments are encrypted using the same client-side encryption as secrets:
- Upload:
- You select a file in your browser
- Your browser encrypts it using the team vault key phrase
- The encrypted file is uploaded to S3-compatible storage
- Original filename and file type are preserved as unencrypted metadata (but file content is encrypted)
- Download:
- Your browser downloads the encrypted file
- Your browser decrypts it using the team vault key phrase from session storage
- The decrypted file is saved to your computer
Security Notes:
- File content is fully encrypted with the vault key phrase
- File metadata (name, type, size) is stored in plain text for browsing without unsealing
- Large files are handled efficiently (no size limit from encryption)
- Multiple attachments per asset are supported
Authentication and Account Security
Login Methods
Key Man Out supports multiple secure authentication methods:
- OAuth Providers:
- Apple
- GitHub
- Uses proven, secure authentication systems
- Eliminates password management
- WebAuthn / Passkeys:
- Hardware security keys (YubiKey, etc.)
- Biometric authentication (Touch ID, Face ID)
- Most secure option available
- Recommended for high-security accounts
- Magic Links:
- Email-based authentication
- Click link to log in without password
- Convenient for occasional access
- Password (Optional):
- Traditional email/password authentication
- Requires strong password
- Can be combined with other methods
- SMS (Optional):
- Phone number verification
- One-time codes via text message
- Additional security layer
Account Security Best Practices
- Enable Passkeys:
- Go to Account Settings → Passkey
- Register your device's biometric or security key
- Most secure way to prevent account takeover
- Use OAuth Providers:
- Google, Apple, or GitHub accounts often have better security than custom passwords
- Enable 2FA on your OAuth provider account
- Monitor Login Activity:
- Check for login notification emails
- Report suspicious activity immediately
- Keep Email Secure:
- Your email account is the master key to your Key Man Out account
- Use strong password and 2FA on your email
- Monitor for unauthorized access
Network Security
HTTPS Encryption
All communication between your browser and the Key Man Out server uses HTTPS (TLS 1.2+):
- Encrypts data in transit
- Prevents man-in-the-middle attacks
- Ensures you're connecting to the real server
- Look for the padlock icon in your browser
API Security
All API requests are:
- Authenticated with session cookies (HttpOnly, Secure, SameSite)
- Protected against CSRF attacks
- Validated for proper authorization
- Rate-limited to prevent abuse
Threat Model
What Key Man Out Protects Against
✅ Server Compromise:
- If our server is hacked, your secrets remain encrypted
- Attackers cannot decrypt without team vault key phrases
- Asset metadata (titles, instructions) would be visible, but sensitive content stays protected
✅ Database Breach:
- If the database is stolen, secrets are encrypted
- Vault key phrases are hashed and cannot be reversed
✅ Insider Threats:
- Service operators cannot read your secrets
- Employees cannot access encrypted content
✅ Network Eavesdropping:
- HTTPS protects data in transit
- Encrypted secrets are useless without vault key phrase
✅ Unauthorized Access:
- Guardian system controls who can view secrets
- Access requests provide audit trail
What Key Man Out Does NOT Protect Against
❌ Compromised User Device:
- If your computer has malware, it could capture your vault key phrase when you type it
- If your browser is compromised, it could steal decrypted secrets
- Mitigation: Use antivirus, keep software updated, be careful what you install
❌ Lost Vault Key Phrase:
- If you lose your team vault key phrase, encrypted secrets are unrecoverable
- No backdoor or recovery mechanism exists
- Mitigation: Store vault key phrase in multiple secure locations
❌ Weak Vault Key Phrase:
- If your vault key phrase is easy to guess, attackers could brute-force it
- Short or common passwords can be cracked
- Mitigation: Use strong, long, random vault key phrases
❌ Social Engineering:
- If an attacker tricks you into sharing your vault key phrase, they can decrypt your secrets
- Phishing emails or fake login pages could steal credentials
- Mitigation: Verify URLs, don't share vault key phrases, enable passkeys
❌ Physical Access to Unsealed Session:
- If you leave your computer unlocked with the vault unsealed, anyone can view secrets
- Mitigation: Manually reseal when stepping away, enable screen lock
❌ Asset Metadata Exposure:
- Asset titles, instructions, and website URLs are not encrypted with the vault key phrase
- In a server compromise, this metadata could be exposed
- Mitigation: Avoid putting sensitive information in asset titles or instructions
Best Practices Summary
For Maximum Security
- Use a Strong Vault Key Phrase:
- 20+ characters or 5+ word passphrase
- Random, unguessable
- Store in multiple secure locations
- Enable Passkeys:
- Hardware security keys or biometric authentication
- Prevents password-based attacks
- Seal When Not in Use:
- Manually reseal when stepping away
- Don't leave vault unsealed overnight
- Monitor Access:
- Review secret access notifications
- Investigate suspicious activity
- Secure Your Devices:
- Use antivirus and anti-malware
- Keep operating system and browser updated
- Enable disk encryption
- Limit Successors:
- Only grant Successor access to people who truly need it
- Review and remove unnecessary guardians regularly
- Be Mindful of Metadata:
- Asset titles and instructions are not encrypted with the vault key phrase
- Avoid putting sensitive information in these fields
- Use generic titles if maximum privacy is needed
- Communicate:
- Ensure team members understand the security model
- Document when access requests are appropriate
- Respond quickly to legitimate emergencies
For Convenience
- Use Password Manager:
- Store your team vault key phrase in a trusted password manager
- Easier than memorizing, still secure if password manager is secured
- Set Up Multiple Successors:
- Ensure business continuity if key personnel are unavailable
- Use time-delay approval for predictable access
- Document Instructions:
- Use asset instructions to explain when access is needed
- Reduces confusion during emergencies
Frequently Asked Questions
Q: Can Key Man Out recover my vault key phrase if I lose it? A: No. Due to the zero-knowledge architecture, we cannot recover, reset, or decrypt your vault key phrase. If you lose it, your encrypted secrets are permanently lost (though asset metadata remains accessible).
Q: What happens if Key Man Out gets hacked? A: Your encrypted secrets remain encrypted. Without your team vault key phrase, attackers cannot decrypt your secrets. However, they would see asset names, instructions, websites, and guardian assignments (unencrypted metadata).
Q: Can government agencies force Key Man Out to provide my data? A: We can provide encrypted secrets and unencrypted metadata if legally required, but we cannot decrypt your secrets. Only you have the vault key phrase needed for decryption.
Q: How do I change my team vault key phrase? A: Use the Key Rotation feature in Team Settings > Security. This requires approval from all team owners/admins, who must each independently verify the new vault key phrase. The rotation re-encrypts all secrets with the new vault key phrase. See Key Rotation for details.
Q: Is the encryption strong enough? A: Yes. AES-256-GCM is the industry standard used by governments, militaries, and major tech companies. It's approved by NIST and considered unbreakable with current technology.
Q: What if I suspect my vault key phrase was compromised? A: Use the Key Rotation feature to immediately rotate to a new vault key phrase. All team owners/admins must approve the rotation. Also change any credentials stored in potentially compromised assets.
Q: Can I use the same vault key phrase for multiple teams? A: Technically yes, but we don't recommend it. Each team should have a unique vault key phrase to limit the impact of a compromise.
Q: How is the vault key phrase verified when I unseal? A: We store a hash (SHA-256) of your vault key phrase. When you unseal, your browser hashes your input and compares it to the stored hash. The actual vault key phrase is never sent to the server.
Q: Why 30 minutes for auto-reseal? A: This balances security with usability. It's short enough to limit exposure, but long enough to avoid constant re-entry. You can manually reseal earlier if needed.
Q: What's the difference between the team vault key phrase and my login password? A: Your login password (or OAuth, passkey, etc.) authenticates your identity and grants access to the service. The team vault key phrase encrypts the actual secrets. You need both to view secrets.
Q: What exactly is encrypted vs. not encrypted? A: Asset secrets (passwords, API keys, confidential text) and file attachments are encrypted with your vault key phrase. Asset metadata (titles, instructions, website URLs, guardian assignments) is NOT encrypted and is accessible to our systems for service functionality.
Related Documentation
- Guardian System - Role-based access control
- Access Requests - How Successors gain access to secrets
Access Request System
Learn how Successors request and gain access to protected assets using standard approval, time-delay, or DNS verification methods in Key Man Out.
Account Settings
Manage your Key Man Out account profile, security settings, authentication methods, notifications, and sessions. Learn about passkeys, 2FA, and account security.
