---
slug: /governance/security-policy
title: Security policy
question: How is ABI kept secure, and how do I report a vulnerability?

---

# Security policy

ABI is software you run on your own infrastructure. Naas writes the controls into the software, and you operate the deployment. This page sets out what ABI defends against, what it leaves to you, which versions get security fixes, and how to report a vulnerability.

## What ABI defends against

ABI is built so that a default project is safe to start and hard to misuse:

- **No default credentials.** The seeded admin password is generated into `.env`. The published defaults of earlier versions are refused at login.
- **No open sign-up.** Self-registration is off. Accounts come from invitations or from the config.
- **Rate-limited sign-in**, in every environment.
- **A private broker.** NATS admits only clients with a password, and the generated stack binds it to `127.0.0.1`.
- **Processes prove who they are.** Every call over NATS carries a short-lived signed token. A remote module signs as itself only: it cannot claim another module's agents, jobs, or app routes.
- **Sandboxed apps.** A remote app holds a grant for one app, one user, and one workspace, for 8 hours at most.
- **Audited admin actions.** Every change to a service's data in the System app is audited before it runs.

The design is on [Security model](/developer-guide/architecture/security).

## What ABI does not defend against yet

These limits are published, not hidden. Plan a deployment around them:

- **Remote modules are trusted code.** All modules share one broker user, so a module can read other modules' traffic and the JetStream streams.
- **No TLS to the broker.** Keep it on a private network.
- **No built-in MFA, SAML, or OpenID Connect.** Put an identity-aware proxy in front of Nexus.
- **No encryption at rest.** Use volume, object storage, and database encryption.

The full list is [Known limits](/developer-guide/architecture/security#known-limits).

## Every control is in the open-source release

Every security control in these docs ships in the MIT-licensed release. None is held back for a paid tier. The Naas enterprise team adds people (security reviews, hardening, compliance mapping), not controls.

## Shared responsibility

| ABI provides | You provide |
|---|---|
| Sign-in, roles, feature access by role, rate limits | SSO, MFA, and the account lifecycle |
| Broker passwords, module keys, service tokens | Firewalls, a private network for the broker, TLS between hosts |
| The secret service, masked and audited secrets | A vault, and rotation of `ABI_API_KEY`, `NATS_JWT_SECRET`, and provider keys |
| Audit rows, the activity log, traces | Log retention and a SIEM |
| Versioned releases with security fixes | Applying them: ABI, the OS, Docker, and the backing services |

The full split, and a hardening checklist, are on [Security and compliance](/user-guide/deploy/security-compliance).

## Compliance

ABI holds no SOC 2, ISO 27001, FedRAMP, HIPAA, or other attestation, and these docs do not claim one. A framework applies to an organization and its systems. [Security and compliance](/user-guide/deploy/security-compliance#compliance-frameworks) maps what ABI offers to the controls those frameworks share.

## Supported versions

| Version | Security fixes |
|---|---|
| 3.x | Yes. It is the current line. |
| 2.x | From the `v2` branch, until 2027-01-31. See [v2 support](/user-guide/upgrade/v2-support). |
| Earlier | No. |

A security fix ships as a `fix:` commit, which releases a patch version. A fix that applies to 2.x is backported as in [Backporting to v2](/developer-guide/releasing/backporting-to-v2). Upgrade `naas-abi-core`, `naas-abi`, and `naas-abi-cli` together.

## Report a vulnerability

Write to [security@naas.ai](mailto:security@naas.ai). Do not open a public GitHub issue for a vulnerability.

Include what you can:

- the versions of `naas-abi-core`, `naas-abi`, and `naas-abi-cli`, and how the project was deployed;
- the steps to reproduce;
- what an attacker could do with it.

Bugs that are not security issues go to [GitHub issues](https://github.com/jupyter-naas/abi/issues).
