Stop e-mailing passwords
in plain text.
Secure Messages adds zero-knowledge encrypted, self-destructing messages to any Joomla site. Share credentials with clients - or let them send secrets to you - through one-time links that even your own server can't read.
One year of updates & personal support · Unlimited sites ·
Latest version: 1.0.0 - 3 September 2026

AES-256-GCM in the browser - the key never reaches the server. Read exactly how it works.
Every agency does it. Hosting logins in an e-mail. API keys in a chat.
"I'll delete it after, promise."
E-mail is forever
That password you mailed in 2019 is still sitting in two Sent folders and a backup.
Chat is not better
Slack, WhatsApp and Teams retain everything, searchably, on someone else's servers.
"Just use a password manager" doesn't scale
You can't onboard every client into your vault just to hand over one login.
What you need is a link that works once, expires, and leaves nothing behind.
One-time links, encrypted before they leave the browser
Write
Share
Burn
See it before you buy it

Try it yourself
Send yourself a secure message on the demo site - no account needed. Watch it encrypt, open the link, and see it burn.
Zero-knowledge,
and we can prove it
"Trust us" is not a security model. So here is the actual one: your browser generates a random 128-bit key, derives an AES-256 key via PBKDF2-SHA256 (100,000 iterations), and encrypts with AES-GCM - authenticated encryption, so tampering breaks decryption outright. Only the ciphertext travels to your server. The key becomes the URL fragment, which browsers keep client-side by design. Your database, your logs, your backups: all of them only ever contain ciphertext.
An optional password isn't checked by the server - it's folded into the key derivation itself. No password check endpoint means nothing to brute-force.
One honest trade-off, documented instead of hidden: when a link is delivered by e-mail, it briefly passes through your mail transport like any e-mailed secret would. Copy the link into another channel and even that goes away.
Cipher: AES-256-GCM (Web Crypto API)
Key derivation: PBKDF2-SHA256, 100k iterations
Key transport: URL fragment - never sent
Password:"part of key derivation
Server stores: ciphertext + metadata only
Revocation: burn / expiry / manual delete
Audit: User Actions Log (no content)