Time-Locked Disclosure & Dead Man's Switches - The Open Standard for Cryptographic Time Capsules
Project description
TIBET Vault
The Open Standard for Time-Locked Disclosure & Dead Man's Switches
HTTPS = Trust in Connection TIBET = Trust in Time
What is TIBET Vault?
TIBET Vault is a cryptographic time capsule system. Lock secrets until a specific date, or set up a dead man's switch that auto-unlocks if you stop checking in.
Use cases:
- Whistleblowers: "If I don't check in for 30 days, release this to journalists"
- AI Audit Trails: Immutable proof of what an AI decided and why
- Intellectual Property: Timestamp your ideas with cryptographic proof
- Estate Planning: Messages to loved ones, unlocked on specific dates
- Journalism: Embargo content until publication date
Installation
pip install tibet-vault
Quick Start
Create a Time-Locked Vault
from datetime import datetime
from tibet_vault import create_vault
# Lock a secret until 2030
vault = create_vault(
owner="alice",
content="The secret recipe for success...",
public_note="Letter to my future self",
unlock_at=datetime(2030, 1, 1)
)
print(f"Vault created: {vault['vault_id']}")
# Content is encrypted. Nobody can read it until 2030-01-01.
Create a Dead Man's Switch
from tibet_vault import create_vault, heartbeat
# Auto-unlock if no heartbeat for 30 days
vault = create_vault(
owner="bob",
content="In case something happens to me...",
public_note="Dead man's switch - disclosure vault",
dead_man_switch_days=30,
beneficiaries=["alice", "charlie"] # They get access if triggered
)
# Bob must send heartbeats to keep it locked
heartbeat(vault['vault_id'], "bob")
# If Bob stops sending heartbeats, vault auto-unlocks after 30 days
Check and Retrieve Content
from tibet_vault import get_vault_content, check_and_unlock
# Check if any vaults should unlock
unlocked = check_and_unlock()
for v in unlocked:
print(f"Vault {v['vault_id']} unlocked: {v['reason']}")
# Get content (only works if unlocked and you're a beneficiary)
result = get_vault_content("vault_abc123", "alice")
if result["success"]:
print(f"Secret: {result['content']}")
CLI Usage
# Create a time-locked vault
tibet-vault create alice "My secret" "Future letter" --unlock-at 2030-01-01
# Create a dead man's switch
tibet-vault create bob "Disclosure content" "DMS" --dead-man-switch 30
# Send heartbeat
tibet-vault heartbeat vault_abc123 bob
# Check for unlocks
tibet-vault check
# Get content
tibet-vault get vault_abc123 alice
# List vaults
tibet-vault list
tibet-vault list alice # Filter by owner
How It Works
Encryption
- Content is encrypted using Fernet (AES-128-CBC with HMAC)
- Keys derived via PBKDF2 with 100,000 iterations
- Each vault has a unique salt
- Master key from environment or auto-generated
Proof of Existence
- SHA-256 hash of original content stored as proof
- Proves content existed at creation time
- Hash is visible before unlock, content is not
Storage
- Default: Local file storage (
~/.tibet-vault/) - Extensible: Implement
VaultStoragefor custom backends - Enterprise: Contact us for cloud-hosted managed vaults
Security Considerations
- Set a strong master key via
TIBET_VAULT_KEYenvironment variable - Backup your vault files - lost files = lost secrets
- Dead man's switch: Automate heartbeats for reliability
- This is the Community Edition - see Enterprise for HSM support
Enterprise Usage
Need more? SymbAIon Enterprise Vault offers:
| Feature | Community (Free) | Enterprise |
|---|---|---|
| Time-lock | ✅ | ✅ |
| Dead man's switch | ✅ (self-hosted) | ✅ Managed |
| Storage | Local files | Cloud HA |
| Encryption | Software keys | HSM hardware |
| Multi-signature | ❌ | ✅ 3-of-5 unlock |
| Audit logs | Basic | Legal-grade PDF |
| Compliance | - | SOC2, GDPR |
| Support | Community | 24/7 SLA |
Contact: https://humotica.com | https://symbaion.eu
Part of the HumoticaOS Ecosystem
TIBET Vault is part of the JIS (Jasper Intent Security) stack:
- ainternet - AI-to-AI communication protocol
- mcp-server-tibet - Trust & audit for AI
- kit-pm - AI-aware package manager
- tibet-vault - Time-locked disclosure (you are here)
Philosophy
"SSL secures the connection. TIBET secures the timeline."
In a world of AI-generated content and deep fakes, proof of time becomes invaluable. TIBET Vault provides cryptographic guarantees about when something was created and when it should be revealed.
Built with love by the HumoticaOS family.
One love, one fAmIly 💙
License
MIT License - Use it, fork it, build on it.
See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tibet_vault-0.1.0.tar.gz.
File metadata
- Download URL: tibet_vault-0.1.0.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00cdc82e8415eff594850de428c4e411cf93722e917f38ee201dc6766d0b6b8f
|
|
| MD5 |
106221afc63850afac4c3774fe4ecaa4
|
|
| BLAKE2b-256 |
e2503b2ba0ad0ef638e63b2abcab3531f9580d9f999eff0dd615a0eb1d3a3087
|
File details
Details for the file tibet_vault-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tibet_vault-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3af5bf92c29b701bb04951d3b726c32c15af57cfae6f318a0fcd4235dcb833a1
|
|
| MD5 |
9247402fd6cd31fe25696d7ee86a39c3
|
|
| BLAKE2b-256 |
18bdac6f9f23954fb1b5b3bcefe616b7166ed6d171e28d0678a9a6de9d9165cd
|