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.
Legal & compliance
Clear terms for you and your customers.
- Data Processing Agreement
- A DPA with the EU Standard Contractual Clauses is available — see DPA & SCCs.
- Privacy and terms
- Read our Privacy Policy and Terms of Service.