Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
glebis avatar

Vault

  • 44 installs
  • 339 repo stars
  • Updated August 4, 2026
  • glebis/claude-skills

Set up and verify the CONFIDE three locks for storing real identifiable session data at rest: FileVault, a dedicated encrypted store, and per-file sops/age encryption.

About

Runs read-only probes to check each of three independent locks and prints the exact command to fix any gap, never moving or encrypting data itself. A developer uses it to verify a defense-in-depth storage posture for real therapy or coaching transcripts.

  • Non-destructive: read-only checks, no fdesetup/hdiutil/age-keygen by default
  • Three independent locks so compromising one does not expose data

Vault by the numbers

  • 44 all-time installs (skills.sh)
  • Ranked #1,374 of 2,203 Security skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/glebis/claude-skills --skill vault

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs44
repo stars339
Last updatedAugust 4, 2026
Repositoryglebis/claude-skills

What it does

Set up and verify the CONFIDE three locks for storing real identifiable session data at rest: FileVault, a dedicated encrypted store, and per-file sops/age encryption.

Files

SKILL.mdMarkdownGitHub ↗

confide:vault — the THREE LOCKS for storing RED data

Operationalizes the defense-in-depth storage posture in confide/docs/THREE-LOCKS.md: real (RED) transcripts rest behind three independent locks, so compromising one does not expose a client. To read a real transcript an attacker needs the device password AND the encrypted-store password AND the age key — three separate secrets, ideally held in different places.

LockWhatProtects against
1 — DeviceFileVault full-disk encryption + strong login password + short auto-locka lost/stolen/USB-booted machine
2 — StoreRED in a dedicated ENCRYPTED store (encrypted APFS volume / AES-256 .dmg), NOT in Documents and NEVER in iCloud/Dropboxother apps, other users, silent cloud sync
3 — Per-fileeach RED file sops/age-encrypted at rest, age key stored SEPARATELY; processing in a no-network VM/containerfiles individually sealed; key not beside the data

NON-DESTRUCTIVE — read before running

  • --check (the default) runs only read-only probes: fdesetup status,

shutil.which(sops/age), and os.path.exists(...). It never moves, deletes, or encrypts data and never runs fdesetup enable, hdiutil, age-keygen, or rm.

  • It reports each lock ✓/✗ and prints the exact command to fix every ✗ — for the user

to review and run themselves.

  • --init-age generates an age key only with that explicit flag, and never

overwrites an existing key.

  • --init-store PATH only prints the encrypted-store creation command; it does not

execute disk-image creation. Refuses cloud-synced paths.

  • Never move, encrypt, or delete the user's RED data on their behalf without explicit

confirmation. There is no destructive default.

Run it

# default = read-only status check + checklist with fix commands
python3 skills/vault/scripts/vault.py --check
python3 skills/vault/scripts/vault.py --json            # structured status dict

# point at your own RED store to verify it's not cloud-synced
python3 skills/vault/scripts/vault.py --store-path ~/CONFIDE-RED.dmg

# optional, GUARDED helpers (explicit flags only)
python3 skills/vault/scripts/vault.py --init-age        # make an age key (never overwrites)
python3 skills/vault/scripts/vault.py --init-store ~/CONFIDE-RED.dmg   # prints the hdiutil command

lock_status() is importable and returns:

{
  "device":  {"filevault": bool},
  "store":   {"present": bool, "path": str|None, "cloud_synced": bool, "safe": bool},
  "perfile": {"sops": bool, "age": bool, "key": bool, "key_path": str|None}
}

How to help the user

1. Run --check and read back the ✓/✗ checklist. 2. For each ✗, show the printed fix command (e.g. sudo fdesetup enable, age-keygen -o ~/.config/confide/age.key, hdiutil create -encryption AES-256 … ~/CONFIDE-RED.dmg) and let the user run it. 3. Confirm the RED store is not inside iCloud/Dropbox (store.safe). 4. Show the sops/age encrypt+decrypt recipe (printed in the checklist) so RED stays ciphertext at rest and is decrypted only in-memory inside the isolated pipeline (confide/docs/ISOLATION.md). Only GREEN (redacted) output ever leaves the machine.

See confide/docs/THREE-LOCKS.md (the model + checklist) and confide/docs/ISOLATION.md (red/green flow, no-network VM/container).

Related skills

Securitysecretscompliance

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.