maximus Posted 2 hours ago Posted 2 hours ago Messenger is a private messaging module for ProcessWire. It adds direct member-to-member conversations, message requests, moderation tools, encrypted storage, notifications, and administrative broadcasts. Main features Private one-to-one conversations between ProcessWire users Message Requests with accept and decline actions Unread message counters and read state Conversation search and recipient search Message editing, deletion, and hide-for-self controls Archive, restore, mute, and unmute actions Directional user blocking Abuse reports with preserved evidence Temporary messaging restrictions Administrative broadcasts to all eligible members or members with a selected role Recipient preview and explicit confirmation before a broadcast is sent Idempotent batch delivery that prevents duplicate broadcast messages Broadcast progress, cancellation, history, and delivery statistics Optional email notifications through a selectable WireMail provider Responsive frontend and ProcessWire administration interface Support for semantic styles, Designsystemet, UIkit, Bootstrap, Tailwind CSS, and custom frontend mappings Same-origin REST API with session authentication, CSRF protection, rate limiting, and private no-store responses Public PHP API, documented hooks, examples, and a bounded local maintenance CLI Privacy and security Message bodies, report comments, preserved evidence, report resolutions, and broadcast source messages are encrypted at rest using libsodium XChaCha20-Poly1305 authenticated encryption. Messenger uses a dedicated messengerEncryptionKey when configured, with ProcessWire’s tableSalt available as a fallback. Encryption keys are never stored in Messenger database tables. The module provides encryption at rest. It does not claim to provide end-to-end encryption. Permissions are separated between moderation, evidence access, administration, export, and permanent deletion. Uninstalling the module retains private messaging data rather than silently deleting it. Administration The ProcessWire administration workspace includes: Operational dashboard Reports queue and status filters Preserved evidence review Member restrictions Administrative broadcast composer Exact recipient preview Broadcast delivery progress and history Notification provider selection Encryption health information Retention and messaging limits Broadcasts appear as normal encrypted private conversations from the administrator who created them. The selected audience is snapshotted before delivery, and changing the message or audience after preview requires another recipient check. Links GitHub repository API documentation Usage examples Feedback, testing reports, and suggestions are welcome. 3 2
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now