Encrypt secrets.
Never store them.
Zekreto handles the hard parts of encryption so your app never has to keep sensitive data in plain text: passwords, API keys, tokens and more.
curl -X POST https://zekreto.com/api/encrypt \
-H "Authorization: Bearer <your-api-token>" \
-H "Content-Type: application/json" \
-d '{"secret": "My Very Secret Message"}'{
"secret": "9aa09167-cb57-4615-ac0e-4ac47da349d0kJRb5E7emca60Lcd..."
}Privacy-first by design
Built for developers who need encryption without storing or managing keys themselves.
Never logged or stored
Secrets are handled in short-lived memory. Neither the plaintext nor the ciphertext is logged or stored.
A key per user
Your secrets are encrypted with a key generated for you, and only your account is authorized to decrypt them.
Granular API keys
Create encrypt-only or decrypt-only keys to keep your services' permissions separate.
Just a REST call
No SDK required. Send a JSON POST, get a JSON response. Works from any language or stack.
Three steps to encryption
Generate an API key
Create a key from your account. Choose encrypt-only, decrypt-only, or both.
POST your secret
Send a JSON request to /api/encrypt with your key in the Authorization header.
Keep the ciphertext
Store the encrypted string wherever you like. Send it to /api/decrypt when you need the original back.
Simple integration
Two endpoints: one to encrypt, one to decrypt.
curl -X POST https://zekreto.com/api/encrypt \
-H "Authorization: Bearer <your-api-token>" \
-H "Content-Type: application/json" \
-d '{"secret": "my-database-password"}'curl -X POST https://zekreto.com/api/decrypt \
-H "Authorization: Bearer <your-api-token>" \
-H "Content-Type: application/json" \
-d '{"secret": "<ciphertext from /api/encrypt>"}'Start encrypting in minutes
Create an account, generate an API key and make your first encryption call.