# Calypso — Zero-Knowledge Ephemeral Secret Sharing > Calypso is a secure, developer-first, zero-knowledge secret-sharing utility designed for founders, engineers, and creators to share passwords, credentials, API keys, and environment variables with auto-shredding and link crawler protection. ## Core Capabilities - **Zero-Knowledge Client-Side Encryption (AES-GCM-256)**: Plaintext secrets are encrypted in the user's browser using the native Web Crypto API prior to transmission. The 256-bit key is placed in the URL hash fragment (`#key=...`), which RFC 3986 guarantees is never sent to the web server or logged. - **Link Crawler & Bot Shield**: Automatically detects over 20 social media and chat link pre-fetching bots (Slackbot, Discordbot, WhatsApp, Twitterbot, Telegrambot, Facebook External Hit). Bots are served an OpenGraph preview card without consuming views or triggering single-use self-destruction. - **Intermediary Human Confirmation**: Recipients encounter a deliberate "Reveal Secret" confirmation before the secret is decrypted and view limits are decremented. - **Cryptographic Shredding**: When view counts expire or time limits are reached, the database record is overwritten with random cryptographic entropy before soft-deletion and subsequent automated force-purging. - **Sender Revocation ("Burn Before Reading")**: Senders receive a private 32-character destruction token and revocation URL allowing immediate remote shredding if a link was dispatched erroneously. - **Developer REST API**: Full programmatic access via `/api/v1/secrets` with token-based destruction. ## Key URLs - Web Application: /secrets/create - About & Technical Specification: /about - Contact & Maintainers: /contact (info@obilodev.com) - Privacy Policy: /privacy - Full Technical Specification: /llms-full.txt - Sitemap: /sitemap.xml ## Security Parameters - Cipher: AES-GCM (Galois/Counter Mode) - Key Length: 256 bits - Initialization Vector: 96-bit cryptographically secure random IV per secret - Key Exchange: Client-Side URL Hash Fragment (`window.location.hash`) - Maximum Payload: 19,000 characters - Expiration Windows: 1 Hour, 1 Day, 1 Week, 1 Month, Never - View Thresholds: 1 to 100 views