Secure Messages
Introduction
Stop e-mailing passwords in plain text. Zero-knowledge encrypted, self-destructing one-time links on your own Joomla site - send credentials to clients, and let them send secrets back.
What it does
Every agency does it: hosting logins in an e-mail, an API key in a chat, "delete it once you've saved it". That password is still sitting in two Sent folders and a backup.
Secure Messages adds zero-knowledge encrypted, self-destructing messages to your Joomla site. Write a secret in the backend, or let visitors write one on a public form, and you get a one-time link. The message is encrypted in the browser before anything reaches your server, and the decryption key travels in the part of the URL after the # that browsers never send to a server. Your database, your logs and your backups only ever hold ciphertext.
How it works
- Write. Type the secret in the Joomla backend, or let clients use the public send form on your site. Encryption happens in the browser with AES-256-GCM.
- Share. You get a one-time link. E-mail it straight from the result screen, or copy it into any channel you like.
- Burn. The recipient opens the link, the message decrypts locally, and with burn-after-reading enabled the ciphertext is deleted from your database the same second. Expired messages are removed by a scheduled task.
What is in the package
- Component - backend message manager with search and delete, public send form with its own menu item type, per-field admin modes, recipient whitelist, captcha support, custom CSS.
- Send Form module - the same public form in any module position: sidebar, footer, or your contact page.
- Cleanup task plugin - Scheduled Tasks integration that removes expired messages from the database.
- Action Log plugin - every create and delete in Joomla's User Actions Log, including guest submissions and automatic burns. Never the content.
The security model
- Cipher: AES-256-GCM through the browser's native Web Crypto API
- Key derivation: PBKDF2-SHA256, 100,000 iterations, random salt
- Key transport: the URL fragment, which browsers keep client-side by design
- Optional password: folded into the key derivation, never checked server-side, so there is no endpoint to brute-force
- Stored on your server: ciphertext plus metadata (unguessable identifier, optional reference, expiry, burn flag, recipient, author)
- Revocation: burn-after-reading, expiry, or delete it from the backend list
- Anti-abuse: recipient whitelist, optional captcha, and a per-IP limit of 20 messages and 10 link e-mails per hour
One trade-off, documented instead of hidden: when a link is delivered by e-mail, the full link passes through your mail transport like any other e-mailed secret. Burn-after-reading and expiry limit how long an intercepted link stays usable, and copying the link into another channel avoids it entirely. The security documentation explains the whole model, including its limits.
Control what visitors can do
For expiry, burn-after-reading and password protection you decide per field whether the sender chooses, or your default applies, shown or hidden. Every mode is enforced on the server, so a tampered form submission cannot override it. The public form only ever mails to the addresses you configured.
Typical uses
- Hand over hosting and CMS credentials at launch, as a link that dies on first read
- Let clients send you an API key or a password instead of e-mailing it
- Give a supplier temporary access with a seven-day expiry that cleans itself up
Requirements
Joomla 5.1.3 or later (Joomla 5 and 6), PHP as required by your Joomla version, MySQL or MariaDB. Interface in English, Dutch, German, French, Italian and Spanish. The notification e-mail is a standard Joomla mail template you can edit.
Licence, updates and support
Unlimited installations, including client sites. One year of updates and personal support from the developer who wrote it; the extension keeps working after that year, renew only if you want further updates.
Secure Messages
- Version:
- 1.0.0
- Developer:
- Joomill
- Last updated:
-
Sep 03 2026
12 hours ago - Date added:
- Sep 03 2026
- License:
- GPLv2 or later
- Type:
- Paid download
- Includes:
- c m p
- Compatibility:
- J5 J6
Share