---
url: /relyagent-whmcs/features/security.md
description: >-
  Relyagent is built to be safe by default — admin-provisioned connections with
  per-connection secrets, native admin login and consent, allowlists enforced on
  every call, output sanitisation, audit logging, rate limits, file integrity
  and a license-gated server.
---

# Security

Handing an AI assistant access to your billing system deserves real guardrails. Relyagent is
designed so that access is always something **you provision, scope and can see** — never
something a client grants itself. "MCP" here means the **Model Context Protocol**, the open
standard that lets AI assistants call the WHMCS tools you expose. Here is what protects you.

## Only connections you provision

There is **no self-registration**. Every AI client connects through a connection you create under
**Addons → Relyagent → MCP Clients**, and each connection has its **own secret**. Without a
Client ID and Client Secret you issued, nothing can connect. See
[Connections & OAuth](/relyagent-whmcs/features/connections-oauth).

## Native admin login and consent

Connecting always routes through your **own WHMCS admin login** — Relyagent shows no login form
of its own, so your existing 2FA, brute-force protection and IP rules all apply. After signing
in, you approve a **consent screen** that lists exactly the tools the connection will have. Even
the token step requires the connection's secret, so admin credentials alone can't connect.

## Allowlists enforced everywhere

Each connection is limited to the exact tools you tick, and that **allowlist is enforced on every
interaction** — both when a client asks which tools exist and when it tries to run one. A tool
that isn't ticked is neither listable nor callable. State-changing tools stay off behind a
[dangerous-operations gate](/relyagent-whmcs/features/mcp-tools#dangerous-operations), off by
default.

## Safe input and output

* **Prompt-injection sanitisation** — tool output is sanitised so content returned from WHMCS
  can't be used to hijack the connected AI client. When the sanitiser changes something, the call
  is marked **Sanitized** in the audit log.
* **SSRF guard** — outbound requests are guarded so the server can't be tricked into reaching
  internal addresses it shouldn't.

## Visibility and pace

Every tool call produces one [audit-log](/relyagent-whmcs/features/audit-and-rate-limits) row
with a clear status, and **per-minute and per-day rate limits** cap how fast any client can act —
so nothing happens silently and nothing runs away.

## A trustworthy, licensed deployment

* **File integrity** — Relyagent continuously checks its deployed files against an
  HMAC-SHA256-signed baseline and flags anything tampered with or missing. See
  [File integrity & sync](/relyagent-whmcs/features/file-integrity).
* **License-gated server** — the MCP server itself only runs with an active license. If the
  license is inactive or removed, the endpoints refuse connections, so an unlicensed install
  can't quietly keep serving tools.

::: tip
Security is layered, so you don't rely on any single control. Keep Dangerous Operations off
unless you truly need writes, tick only the tools each connection needs, and review the audit log
periodically.
:::
