Security

An RMM is a key to every client.
We treat it like one.

RabbitRMM runs code as SYSTEM on your clients' machines, so every part of it is built on the assumption that someone will try to misuse it. Here is what that means in practice.

A signed agent that checks its own updates

  • The agent and tray app are Authenticode-signed with Azure Trusted Signing
  • Agents refuse any update not signed by the pinned publisher, and verify its hash before installing
  • A failed update rolls itself back, so a bad build cannot strand a machine
  • Each device has its own credential; a deleted device is refused and uninstalls itself

Least privilege for your team

  • Sign-in with Microsoft Entra ID; no RabbitRMM passwords to leak
  • Roles hold specific permissions and the clients they apply to
  • Scripts carry an automation level, and roles a ceiling, so risky scripts need senior access
  • Every write is recorded in the activity log with who did it

Secrets stay secret

  • Integration keys, API secrets and AI keys are encrypted at rest
  • Secret script parameters reach the agent through the process environment, never written to disk
  • Credentials used to push the agent are held in memory for one run and stored nowhere
  • Outbound calls to integrations go only to addresses that pass an allow-list policy

Remote access people can see

  • Privacy mode: on attended machines the user approves every remote session
  • A banner names the technician for as long as they are connected
  • Approvals go over a pipe bound to the signed-in user, so they cannot be forged by another process
  • Share links expire when the session window closes

How we work

Reviewed, scanned and tested.

Security is part of every release, not a project we did once.

  • Regular code-wide security reviews, with every confirmed finding fixed and covered by a test
  • Dynamic scanning of the portal, and a strict content security policy
  • Over 1,300 automated tests, including tenant isolation and permission tests, on every change
  • Hosted in Microsoft Azure, with production deployed through a staging slot
  • Optional dedicated instance with its own database
The activity log for one client: configuration drift corrected, alerts resolved, patches and remote sessions, each with who did it.

Responsible disclosure

Found something? Tell us first.

Email security@rabbitrmm.com with what you found and how to reproduce it. We acknowledge every report, keep you updated while we fix it, and credit you if you would like.

Please do not

access or change data that is not yours, run denial-of-service tests, or test against our customers' devices. Testing your own RabbitRMM instance and agents is welcome.