Your data is always 100% yours We never store your data

Understanding Safe States

User Guide

Understanding Safe States

SafekeeperLife safes move through different states during their lifecycle. Understanding these states helps you know what operations are available and why certain actions are restricted.

Table of Contents

State Machine Overview

A Safe’s state determines what operations you can perform. Think of states as phases in the Safe’s lifecycle:

  1. Unlocked - Edit credentials freely
  2. Locked - Credentials encrypted, ready to seal
  3. Sealed - Keys distributed to Keyholders, waiting for reveal
  4. Revealed - Keyholders unlocked the Safe, credentials visible
  5. Removed - Safe deleted (terminal state)

State Diagram

stateDiagram-v2
    [*] --> Unlocked: Create Safe
    Unlocked --> Locked: Lock (encrypt credentials)
    Locked --> Unlocked: Unlock (enter password)
    Locked --> Sealed: Seal (distribute Keys)
    Sealed --> Revealed: Reveal (threshold Keys uploaded)
    Revealed --> Removed: Remove Safe
    Removed --> [*]

    note right of Unlocked
        Edit credentials
        Add/delete items
        Manage Keyholders
    end note

    note right of Locked
        Credentials encrypted
        Can't edit
        Ready to seal
    end note

    note right of Sealed
        Keys with Keyholders
        Waiting for trigger
        Can't edit or unlock
    end note

    note right of Revealed
        Credentials visible
        Keyholders have access
        Read-only
    end note

The Five States

1. Unlocked

Description: The Safe is open for editing. Credentials are accessible and can be modified.

When You’re in This State:

  • Right after creating a Safe
  • After unlocking a locked Safe

What It Means:

  • Credentials are not encrypted (or temporarily decrypted in memory)
  • You can add, edit, delete credentials
  • You can manage Keyholders
  • You have NOT yet locked the Safe with your password

Visual Indicator:

Status: 🔓 Unlocked

Key Characteristic: Maximum flexibility - you can change anything.

2. Locked

Description: The Safe is encrypted with your master password. Credentials are protected but the Safe hasn’t been sealed yet.

When You’re in This State:

  • After locking a Safe (entering your master password)
  • Before sealing (distributing Keys to Keyholders)

What It Means:

  • Credentials are encrypted using AES-256-GCM with your password
  • You cannot view or edit credentials without unlocking
  • The encryption Key is still accessible to you (via your password)
  • You can unlock, edit, and lock again
  • You’re ready to seal and distribute Keys

Visual Indicator:

Status: 🔒 Locked

Key Characteristic: Reversible - you can unlock anytime with your password.

3. Sealed

Description: The Safe’s encryption Key has been split into shares and distributed to Keyholders. You can no longer unlock with your password alone.

When You’re in This State:

  • After sealing a locked Safe
  • Keys have been emailed to Keyholders
  • Waiting for a trigger condition (inactivity, attestation, or scheduled)

What It Means:

  • Credentials are encrypted and inaccessible to you
  • Your master password alone cannot unlock the Safe
  • The encryption Key has been split into N shares (Shamir’s Secret Sharing)
  • K Keyholders must upload Keys to reveal (threshold)
  • The Safe is waiting for a trigger condition to allow reveal

Visual Indicator:

Status: 🔐 Sealed
Trigger: [Inactivity / Attestation / Scheduled]
Keys Distributed: Yes

Key Characteristic: Irreversible - you cannot unlock or edit unless you reveal (requires Keyholders).

4. Revealed

Description: Keyholders have uploaded the threshold number of Keys, reconstructing the encryption Key. Credentials are now visible.

When You’re in This State:

  • After K or more Keyholders uploaded their Keys
  • A trigger condition was met (inactivity, attestation, or scheduled)
  • The Safe’s encryption Key was reconstructed from shared Keys

What It Means:

  • Credentials are decrypted and visible to Keyholders who participated
  • The Safe is in read-only mode (no editing)
  • All Keyholders who uploaded Keys can view credentials
  • You can remove the Safe after accessing credentials

Visual Indicator:

Status: ✅ Revealed
Keys Used: [K] out of [N]
Revealed At: [timestamp]

Key Characteristic: Mission accomplished - credentials are accessible, waiting for cleanup.

5. Removed

Description: The Safe has been deleted. All data is permanently removed.

When You’re in This State:

  • After clicking “Remove Safe” from revealed state
  • All credentials, Keys, and metadata are deleted

What It Means:

  • The Safe no longer exists
  • Credentials are permanently deleted
  • Keyholders can no longer access the Safe
  • This is the terminal state (no further transitions)

Visual Indicator:

Status: 🗑️ Removed

Key Characteristic: Permanent - cannot be undone.

State Transitions

Transition 1: Create → Unlocked

Trigger: Create a new Safe

Requirements:

  • Choose a threshold (k)
  • Set a master password

What Happens:

  • Safe is created in unlocked state
  • You can add credentials immediately

Transition 2: Unlocked → Locked

Trigger: Lock the Safe

Requirements:

  • Enter your master password (confirmation)

What Happens:

  • All credentials are encrypted using AES-256-GCM
  • Encryption Key is derived from your password using PBKDF2
  • Credentials are stored encrypted in the database
  • Safe status changes to “locked”

Why You’d Do This:

  • Finished adding/editing credentials
  • Ready to seal and distribute Keys
  • Want to encrypt credentials for security

Can You Undo? Yes, unlock with your password (see Transition 3).

Transition 3: Locked → Unlocked

Trigger: Unlock the Safe

Requirements:

  • Enter your master password

What Happens:

  • Encryption Key is re-derived from your password
  • Credentials are temporarily decrypted (in memory)
  • You can view and edit credentials
  • Safe status changes to “unlocked”

Why You’d Do This:

  • Need to edit credentials (update password, add 2FA codes)
  • Need to add/delete credentials
  • Need to update Keyholder list

Can You Do This After Sealing? No. Once sealed, you cannot unlock with password alone.

Transition 4: Locked → Sealed

Trigger: Seal the Safe

Requirements:

  • Safe must be locked
  • Must have designated Keyholders (at least K Keyholders)

What Happens:

  • Encryption Key is split into N shares (Shamir’s Secret Sharing)
  • Each Keyholder receives a Key file via email
  • If emergency triggers are enabled, shares are pre-encrypted for trigger-based sealing
  • Safe status changes to “sealed”
  • You can no longer unlock with password alone

Why You’d Do This:

  • Finished setting up the Safe
  • Ready to distribute Keys to Keyholders
  • Want Keyholders to be able to reveal in the future

Can You Undo? No. Sealing is irreversible. You must coordinate with Keyholders to reveal.

Transition 5: Sealed → Revealed

Trigger: Threshold Keys uploaded by Keyholders

Requirements:

  • A trigger condition must be met (inactivity, attestation, or scheduled)
  • K or more Keyholders upload their Key files
  • Key shares are cryptographically valid

What Happens:

  • K shared Keys are combined to reconstruct the encryption Key
  • Credentials are decrypted
  • Safe status changes to “revealed”
  • Credentials are visible to all Keyholders who participated

Why This Happens:

  • Emergency condition occurred (safekeeper inactive, deceased, scheduled date reached)
  • Keyholders coordinated to reveal the Safe

Can You Undo? No. Once revealed, you cannot re-seal. You can only remove the Safe.

Transition 6: Revealed → Removed

Trigger: Remove the Safe

Requirements:

  • Safe must be in revealed state
  • Click “Remove Safe” and confirm

What Happens:

  • All credentials permanently deleted
  • All shared Keys deleted
  • All metadata deleted
  • Safe status changes to “removed” (terminal)

Why You’d Do This:

  • Finished accessing credentials
  • Keyholders have completed their tasks
  • No longer need the Safe

Can You Undo? No. Removal is permanent.

What You Can Do in Each State

Operation Unlocked Locked Sealed Revealed Removed
Add Credential ✅ Yes ❌ No ❌ No ❌ No ❌ N/A
View Credential ✅ Yes ❌ No ❌ No ✅ Yes* ❌ N/A
Edit Credential ✅ Yes ❌ No ❌ No ❌ No ❌ N/A
Delete Credential ✅ Yes ❌ No ❌ No ❌ No ❌ N/A
Manage Keyholders ✅ Yes ⚠️ Limited** ❌ No ❌ No ❌ N/A
Lock Safe ✅ Yes ❌ Already locked ❌ No ❌ No ❌ N/A
Unlock Safe ❌ Already unlocked ✅ Yes ❌ No ❌ No ❌ N/A
Seal Safe ❌ Must lock first ✅ Yes ❌ Already sealed ❌ No ❌ N/A
Upload Key (Keyholder) ❌ N/A ❌ N/A ✅ Yes* ❌ Too late ❌ N/A
Remove Safe ❌ No ❌ No ❌ No ✅ Yes ❌ Already removed

Notes:

  • *In revealed state, only Keyholders who uploaded Keys can view
  • **In locked state, you can manage Keyholders, but if emergency triggers are enabled with pre-encrypted shares, you cannot change the number of Keyholders or threshold (structural constraints)
  • *Keys can only be uploaded after a trigger condition is met

Why Restrictions Exist

Why Can’t I Edit After Locking?

Reason: Credentials are encrypted. To edit, you need to decrypt them first (unlock).

Analogy: A locked physical Safe doesn’t let you add/remove items without opening it first.

Solution: Unlock the Safe, edit, lock again.

Why Can’t I Unlock After Sealing?

Reason: The encryption Key has been split into shares. Your password alone cannot reconstruct the Key.

Cryptographic Explanation:

  1. When you lock: Password → PBKDF2 → Encryption Key → Encrypt Credentials
  2. When you seal: Encryption Key → Shamir Split → K-of-N Shares → Distribute to Keyholders
  3. You no longer have the full encryption Key (only Keyholders have shares)

Analogy: You’ve split a physical Key into pieces and given them to Keyholders. You can’t unlock the Safe without reassembling the Key pieces.

Solution: Coordinate with Keyholders to reveal (requires K Keyholders to upload Keys).

Why Can’t I Change Keyholders After Locking (If Triggers Enabled)?

Reason: If you’ve enabled emergency triggers (inactivity, attestation, scheduled), the shared Keys are pre-encrypted for trigger-based sealing. Changing the number of Keyholders or threshold would invalidate these pre-encrypted shares.

Technical Explanation:

  • Trigger monitors need to seal the Safe without your password
  • Key shares are pre-encrypted with trigger-specific Keys during lock
  • Changing Keyholder count or threshold requires regenerating shares
  • Regenerating shares requires the encryption Key (which is only available during lock)

What You CAN Change:

  • Keyholder names (cosmetic)
  • Keyholder emails (if before sealing)

What You CANNOT Change:

  • Number of Keyholders
  • Threshold value

Solution: If you need to change threshold or Keyholder count:

  1. Disable emergency triggers
  2. Unlock, edit Keyholder list, lock again (without triggers)
  3. OR: Create a new Safe with desired threshold/Keyholder configuration

Why Can’t I Re-Seal After Revealing?

Reason: The Safe’s purpose has been fulfilled. Credentials are accessible, and the Safe is meant to be removed after use.

Design Philosophy: SafekeeperLife is designed for one-time reveal. Once Keyholders have accessed credentials, the Safe should be cleaned up.

What You CAN Do:

  • View credentials (read-only)
  • Export credentials (to store elsewhere)
  • Remove the Safe (cleanup)

What You CANNOT Do:

  • Edit credentials
  • Re-seal and redistribute Keys

Solution: If you need to store credentials again, create a new Safe.

Common State Transition Scenarios

Scenario 1: Normal Setup Workflow

[Create Safe]
    ↓
[Unlocked] - Add credentials, designate Keyholders
    ↓
[Lock] - Enter password, encrypt credentials
    ↓
[Sealed] - Distribute Keys to Keyholders
    ↓
[Wait for Trigger] - Inactivity / Attestation / Scheduled
    ↓
[Revealed] - Keyholders upload Keys
    ↓
[Removed] - Cleanup after accessing credentials

Scenario 2: Edit After Locking (Before Sealing)

[Locked] - Realized I forgot a credential
    ↓
[Unlock] - Enter password
    ↓
[Unlocked] - Add the forgotten credential
    ↓
[Lock] - Re-encrypt with updated credentials
    ↓
[Sealed] - Distribute Keys (includes new credential)

Scenario 3: Edit After Sealing (Requires Re-Seal)

[Sealed] - Password changed, need to update Safe
    ↓
[Cannot Unlock] - Sealed safes can't be unlocked with password
    ↓
[Option 1: Reveal]
    - Coordinate with Keyholders
    - Upload K Keys to reveal
    - View old credentials
    - Remove Safe
    - Create new Safe with updated credentials

[Option 2: Create New Safe]
    - Create new Safe with current credentials
    - Seal and distribute new Keys
    - Keep old Safe sealed (for old credentials)

Recommendation: If credentials change frequently, keep the Safe locked (not sealed) until you’re confident credentials are stable.

Scenario 4: Testing the Reveal Process

[Create Test Safe]
    ↓
[Unlocked] - Add dummy credentials
    ↓
[Lock] - Encrypt test data
    ↓
[Sealed] - Trigger fires, Keys distributed to Keyholders
    ↓
[Revealed] - Keyholders upload Keys (practice)
    ↓
[Verify Credentials Visible] - Confirm reveal works
    ↓
[Removed] - Delete test Safe

Best Practice: Always test the reveal process with a dummy Safe before relying on it for real credentials.

Troubleshooting State Issues

Problem: Can’t Find “Lock” Button

Symptom: Safe is unlocked, but no lock button appears.

Possible Causes:

  • No credentials added yet
  • JavaScript not loaded
  • Browser issue

Solution:

  1. Add at least one credential
  2. Refresh the page
  3. Try a different browser

Problem: Can’t Edit Credentials

Symptom: Edit button is grayed out or missing.

Cause: Safe is not in unlocked state.

Solution:

  • If locked: Unlock the Safe (enter password)
  • If sealed: Cannot edit (must reveal or create new Safe)
  • If revealed: Cannot edit (read-only state)

Problem: Forgot Password, Safe is Locked

Symptom: Safe is locked, but you forgot the master password.

Cause: Master password not stored or remembered.

Solution: There is no solution. Credentials are permanently unrecoverable. This is by design for security.

Prevention:

  • Write down master password and store securely
  • Use a memorable passphrase
  • Store password in a different password manager

Problem: Safe Stuck in Sealed State

Symptom: Safe is sealed, but you want to edit without revealing.

Cause: Sealing is irreversible.

Solutions:

  1. Reveal the Safe (requires Keyholders)

    • Coordinate with Keyholders
    • Upload K Keys
    • View credentials
    • Remove Safe
    • Create new Safe with updated data
  2. Create a new Safe (if old credentials still valid)

    • Leave old Safe sealed (for old credentials)
    • Create new Safe with current credentials
    • Seal and distribute new Keys

Recommendation: Avoid sealing until you’re confident credentials are stable.

Problem: Revealed Safe Won’t Let Me Edit

Symptom: Safe is revealed, credentials visible, but can’t edit.

Cause: Revealed state is read-only.

Solution: You cannot edit revealed safes. You must:

  1. Export/view credentials
  2. Remove the Safe
  3. Create a new Safe with updated credentials

Questions? See the General FAQ or Getting Started Guide.

Need Help?

Can't find what you're looking for? Check out our other guides or return to the documentation index.