Skip to main content

Secure Messages for Perfex CRM

Version: 1.0.0
Author: Cloudmill
Support: Dit e-mailadres wordt beveiligd tegen spambots. JavaScript dient ingeschakeld te zijn om het te bekijken.


1. Introduction

Secure Message is a high-security extension for Perfex CRM that allows you to safely share sensitive information such as passwords, login credentials, API keys, or private notes.

Unlike traditional messaging systems, this module uses Zero-Knowledge AES-256 encryption. All encryption happens directly in the user's browser, which means the server never receives or stores the original plaintext message.

Only an encrypted version of the message is stored in the database, ensuring that sensitive data remains protected at all times.

This approach significantly reduces the risk of data leaks or unauthorized access.


2. Installation

Follow these steps to install the module in Perfex CRM.

Step 1 – Download

Download the module ZIP file from CodeCanyon.

Step 2 – Upload the Module

Log in to your Perfex CRM Admin Panel and navigate to: Setup → Modules

Click Upload Module and select: secure_messages.zip

Step 3 – Activate the Module

After uploading, click Activate to enable the module.

Step 4 – Configure Permissions

Navigate to: Setup → Staff → Permissions

Enable the Secure Messages permission for the staff members who should be allowed to create and manage secure messages.


3. Data Destruction & Security

The module is designed to ensure that sensitive information does not remain stored longer than necessary.

Two independent mechanisms ensure automatic data removal.

Burn-After-Reading

When the Burn-After-Reading option is enabled:

  1. The recipient opens the secure message.
  2. The message is decrypted locally in the browser.
  3. Once the message is opened, the encrypted record is immediately deleted from the database.

This ensures that the message can only be viewed once.


Automated Expiration via Cronjob

Messages that are not configured for burn-after-reading are automatically removed using the Perfex CRM Cronjob system.

The system performs the following actions:

  1. The module stores an expiration timestamp when the message is created.
  2. The Perfex Cronjob runs.
  3. During each Cronjob execution, the module scans the database for expired messages.
  4. Any message whose expiration time has passed is permanently deleted from the database.

Cronjob Requirement

Your Perfex CRM Cronjob must be configured correctly on the server. This ensures that expired secure messages are removed automatically and the database remains clean.


4. How the Encryption Works

The module follows a Zero-Knowledge security model, meaning the server never has access to the decryption key.

The process works as follows:

Step 1 – Client-Side Encryption

When a user creates a secure message, JavaScript encrypts the message using AES-256 encryption directly in the browser.

Step 2 – Server Storage

Only the encrypted message blob is sent to the server and stored in the database.

The decryption key is never stored on the server.

Step 3 – Secure Link

The decryption key is embedded in the URL fragment, for example:

https://example.com/secure-message/abc123#decryptionkey

Everything after the # symbol is never transmitted to the server and only exists in the recipient's browser.

Step 4 – Decryption

When the recipient opens the link:

  1. The browser extracts the key from the URL fragment.
  2. The encrypted message is fetched from the server.
  3. The browser decrypts the message locally.

Step 5 – Cleanup

When the message is read or when it expires, the encrypted data is permanently removed from the database.


5. Configuration

You can configure the module defaults via: Secure Messages → Settings

Available configuration options include:

Default Expiration

Set the default lifetime for messages.

Available options:

  • 1 day
  • 3 days
  • 7 days
  • 30 days
  • Never expire

Default Self-Destruction

Define the default behavior for new messages:

  • Burn After Reading
  • Time-based Expiration

Cronjob Integration

No additional configuration is required.

The module automatically hooks into the Perfex CRM Cronjob system using the after_cron_run action to perform cleanup tasks.


6. Changelog

Version 1.0.0 – March 2026

Initial release.

Features include:

  • Client-side AES-256 encryption
  • Zero-Knowledge architecture
  • Burn-after-reading secure messages
  • Automatic Cronjob cleanup for expired messages
  • Support for 20+ languages, including:
    • Brazilian Portuguese
    • Bulgarian
    • Canadian French
    • Catalan
    • Chinese
    • Czech
    • Dutch
    • English
    • Finnish
    • French
    • German
    • Greek
    • Indonesia
    • Italian
    • Japanese
    • Norwegian
    • Persian
    • Polish
    • Portuguese
    • Romanian
    • Russian
    • Slovak
    • Spanish
    • Swedish
    • Turkish
    • Ukrainian
    • Vietnamese

7. Support

If you encounter any issues or need help with installation, configuration, or usage, please contact:

Dit e-mailadres wordt beveiligd tegen spambots. JavaScript dient ingeschakeld te zijn om het te bekijken.

Table of content