Skip to content

Trust

Security

Nauro's safest mode is its default: the core runs locally and never calls out. When you opt into hosted sync, a small control plane stores your project context behind fail-closed authorization and encryption at rest.

Last updated: 13 July 2026. The Nauro CLI and core are open source under Apache 2.0, so the local-first claims below can be checked against the code on GitHub. The hosted control plane is operated by us and is not open source; the properties in that section describe how we run it.

Local-first by default

The local store and retrieval path make no external network calls. Retrieval (lexical BM25, and the optional embedding model) runs entirely on your machine with no API key. Your decisions live as plain files you control, and your source code is never read or transmitted by Nauro. As of 1.0, the on-disk store format follows semantic versioning, so the store you own today stays readable as Nauro evolves.

The hosted plane (opt-in)

When you enable cloud sync, a small control plane stores the project context you sync, behind authorization. Unlike the open-source core, you cannot verify this in code — it runs on our infrastructure. Here is how we operate it:

  • Authentication. Sign-in uses Auth0 with the OAuth Authorization Code + PKCE (S256) flow. Tokens are stored locally in an owner-only file.
  • Fail-closed authorization. Every hosted request is gated by a membership record. Unauthorized or malformed requests are rejected and never billed; access is denied unless a valid membership is present.
  • Encryption and isolation. Project context (decisions, state, and open questions, never your source code) is configured to be encrypted at rest in AWS S3 (us-east-1) using S3 server-side encryption, and access to each project is gated by a fail-closed membership check, so a request can read or write a project only if the account is recorded as a member of it. The server's own permissions are scoped to the project storage path.
  • Deployments. The service is deployed through GitHub OIDC, so there are no long-lived cloud credentials or stored deploy secrets to leak.

Product analytics

Nauro sends no product analytics. Hosted authorization, usage counters, rate limiting, and CloudWatch operational logs remain in place and are described on the privacy page.

Current ownership boundary

A hosted project currently has one owner and no invite or shared-membership mechanism. Cross-machine sync is intended for sequential use by that owner. The cloud store has no compare-and-swap primitive or equivalent cross-request lock, so concurrent writes from several machines can lose updates.

Reporting a vulnerability

If you find a security issue, please email [email protected] with the details and steps to reproduce, and give us a reasonable window to respond before any public disclosure. Machine-readable contact details are published at /.well-known/security.txt.