Security & trust

Defence in depth, by design.

An agent that can act on your customers' accounts must earn that trust at every layer. Here is exactly how Makli protects your company, your servers and your customers — in plain words, with nothing overstated.

Cryptographically signed connections

Your WHMCS and Makli prove who they are on every single request — in both directions.

HMAC-SHA256 request signing
Each request is signed over its timestamp, a random nonce, the method, the path and a SHA-256 digest of the body, using your organization's own secret key. A modified request fails verification.
Replay protection
Requests older than five minutes are rejected, and every nonce is single-use — a captured request cannot be sent again.
Constant-time verification
Signatures are compared in constant time, closing off timing attacks.
Per-organization, rotatable keys
Every organization has its own key, generated from a cryptographically secure source. Your organization is identified from the key itself — never from anything inside the request — and keys can be rotated at any time. A suspended organization is refused immediately.
Short-lived tokens for everything else
Single sign-on links into the Client Portal expire after two minutes; the tools Makli's AI may call during one job are unlocked by a signed token that lasts at most 15 minutes and 25 calls.

Encryption

Secrets are encrypted at rest with authenticated encryption, and data in transit travels over verified TLS.

Secrets encrypted at rest
AI provider keys and the passwords and tokens you save in the Client Portal are encrypted with Fernet (AES with an HMAC-SHA256 integrity check). Console secrets — mail credentials, OAuth secrets and staff two-factor seeds — use AES-256-GCM. The encryption key is held apart from the data, with owner-only file permissions, and can be rotated.
Fail-safe by design
If the encryption key is ever unavailable, the Client Portal refuses to store integration secrets rather than store them unprotected.
Verified TLS in transit
Makli verifies TLS certificates on its connections to your WHMCS, to AI providers and to partner APIs.
Ephemeral chat context
The context handed to the AI during a live-chat turn is stored encrypted and erased when the turn ends.

Sign-in & access

The Makli Admin Console and your Client Portal are protected like the systems they control.

Two-factor authentication
Time-based one-time codes (TOTP) for staff and portal users, with backup codes in the portal. The owner can require two-factor authentication for every Makli administrator.
Strong password storage
Passwords are hashed with bcrypt (cost 12) and never stored in readable form.
Brute-force protection
Sign-in and two-factor attempts are rate-limited per account and per IP address; every sign-in and failure is written to an audit log.
Hardened sessions
HttpOnly, Secure, SameSite cookies; the session identifier is renewed at sign-in and every 30 minutes; idle sessions end after two hours and every session ends within a fixed maximum lifetime. There is no "remember me".
CSRF protection
Every form submission carries an anti-forgery token, verified in constant time.

Action governance

Makli can only do what you allow — and several independent limits sit above your settings.

Per-action permissions
Each of the 125 actions that change something is Off, Explain only, Ask me first or Automatic for your organization — with a separate setting for live chat, an optional daily limit and an optional minimum confidence.
Layered ceilings
A platform-wide switch, limits set by your Makli provider, stricter defaults for sensitive, financial and destructive actions in live chat, and hard caps on the riskiest actions (for example, recording a bank transfer always waits for a person) all apply on top of your choices.
Verified requesters only
Account changes run only for the verified account holder. Guests and senders not on the account get read-only help and never see another client's personal data.
Human approval where you want it
"Ask me first" actions wait in an approval queue inside your WHMCS. In Ask Makli, every change is a confirmation card that runs only when that staff member presses Confirm — and only within that staff member's own WHMCS permissions.
A safe place to test
Test Makli replays real tickets with every write, reply and note held back, so you can judge it before it touches anything.

Safe execution

When Makli does act, it acts carefully — and proves the result.

Look before you leap
Makli reads the current state first — the account, the server, the logs — and changes only what that evidence calls for.
Verified backups before file edits
Before any file is changed, a backup copy is made and checked; the edit happens only after that.
Read-back verification
Changes such as file edits, DNS records, PHP versions and email fixes are read back after they are made, so Makli reports what really happened — not what it intended.
Fail closed
If a change fails, Makli does not tell the client it worked: the reply is held and your team is alerted.
No password requests
Makli never asks a client for a password, and replies to guests never contain login details.

Data protection

Share only what is needed, keep it scoped, and remove what is no longer useful.

Field-level anonymisation
In the WHMCS addon you choose which client fields — name, email, company, address, phone, country — are replaced with placeholders before anything is sent to Makli and the AI.
Organization scoping
Every record is tied to the organization its signed key belongs to, and every query is scoped to it.
Secrets kept out of results and logs
Action results are redacted before they are stored, secret-looking values are masked in logs and screens, and secrets found inside website files are removed before the AI reads them. Request bodies carrying account context are not logged.
Automatic clean-up
Live-chat uploads are deleted after 30 days, empty chats after five minutes, and cached screenshot readings after 45 days.

Responsible AI

The AI is a reasoning engine inside strict boundaries — not a black box with your keys.

No training on your data
Makli does not train or fine-tune AI models on your data.
Grounded answers
Makli answers from what it has just read in your WHMCS and on your servers, and from your own instructions and policies — not from guesswork.
The AI never holds the keys
The model can only request actions through Makli's tool layer, which applies your permissions, the requester checks and every limit above before anything runs.

Audit trail

Everything Makli does is accounted for.

Every action and API call
Each action Makli runs, its result, and the API calls behind it are logged against the ticket or chat they belong to.
Every setting change
Changes to action permissions and staff sign-ins are recorded in audit logs.
Exactly-once tool calls
Each tool call carries an idempotency key, so a retried call is recognised and not run a second time.
Questions about security, or need a signed DPA or a security questionnaire answered? Email sam@makli.com. Read our Privacy Policy and Data Processing Agreement & SCCs.