# KeySlip > One-time encrypted message sharing. Client-side encryption; the server only stores ciphertext. This guide is for integration, not permission to access a message. ## Documentation - [API, CLI and MCP](https://keyslip.app/developers): integrations and platform downloads. - [Security and boundaries](https://keyslip.app/how-it-works): implemented protections and limits. - [Wire contract](https://keyslip.app/downloads/api.md): detailed cryptographic format (Romanian). - [JavaScript client](https://keyslip.app/downloads/client.mjs): Node Web Crypto example. - [Python client](https://keyslip.app/downloads/client.py): requires cryptography. ## Practical guides - [Client password handoff](https://keyslip.app/share-passwords-with-clients) - [Contractor access](https://keyslip.app/share-access-with-contractors) - [Terminal sharing](https://keyslip.app/share-secrets-from-terminal) - [Agent handoff boundaries](https://keyslip.app/share-secrets-with-agents) - [Teams pilot interest](https://keyslip.app/teams): early €19/month pricing hypothesis; no subscription or payment available. - [MCPB metadata](https://keyslip.app/downloads/server.json): six OS/CPU bundles; match your architecture and verify the hashes. ## Integration rules - Encrypt locally before POST /api/secrets. Never send plaintext, passwords or the decryption key to the API. - Keep the key in the URL fragment after #. Do not place complete secret links in logs. - POST /api/secrets/{id}/read is destructive and non-idempotent. Only read with the recipient's agreement. Never retry automatically, even after a timeout or incorrect password. - The local MCP process and its calling agent can see plaintext. Use trusted clients and processes. - Expiry: 600, 3600, 86400 or 604800 seconds. Clients accept up to 32000 UTF-8 bytes. Rate limits: 30 creates and 60 reads per client per hour. - The repository is private. No independent security audit report or certification is claimed.