Security

Security overview

How the product and this website are designed to be safe, how to report a problem, and what has not been independently verified.

Read with the trust center. This page describes design and controls. It is not an audit result. See the trust center for what is certified (nothing yet) and what is still open.

Report a vulnerability

If you find a security problem in the AIDR software, this website or the hosted dashboard, please tell us privately and give us a chance to fix it before you share it more widely.

  • Where: the security contact. Machine-readable details are in security.txt.
  • Include: what you found, steps to reproduce, affected versions, and the impact you expect.
  • Please do not: access other people's data, degrade the service, or publish details before we have responded.
  • Scope: the AIDR source and connectors, threat rules, distributed artifacts, this website and the hosted dashboard.
Response targets are not yet approved. Acknowledgement, update and fix targets have not been approved or staffed, so none is promised here. Legal safe-harbor wording for good-faith research is also pending legal review. The security.txt file expires on 2027-04-01 and must be reissued before then. Canonical copy: https://aidr.singularityrd.com/.well-known/security.txt.

Data flow

Detection runs where the agent runs. Data leaves the machine only through the optional legs below, each of which is off or limited by default.

Data flow from an agent tool call to the control plane
StepWhereWhat happens
1. Agent hostDeveloper machineAn AI coding agent proposes a tool call: a shell command, file write, web fetch or MCP action.
2. Local detectionDeveloper machineThe AIDR connector extracts commands, URLs and paths and evaluates them against the rule set and policy. This runs locally and does not need a network connection.
3. VerdictDeveloper machineThe decision is allow, ask or deny. An ask is a block pending a human decision outside the agent session.
4. Optional outbound legsConfigured servicesURL, file and package reputation, version checks, deep scans and alert webhooks. Each one is controlled by configuration and is described in the privacy draft.
5. Managed control planeHosted dashboardOnly for enrolled installations with sync turned on. Events pass a credential scrub and by default carry hashes instead of command text.

Full detail, including retention and redaction modes, is in the privacy draft.

How the product is designed

  • Detection rules are data. Rules are YAML files, not hard-coded patterns, so they can be reviewed, updated or revoked without a code change.
  • Approvals are not agent-callable. When a call is blocked pending approval, no tool is exposed to the agent to approve it. Approval is a human action outside the session, so a prompt-injected agent cannot approve its own block.
  • Credential scrub at the boundary. Bearer credentials, API keys, tokens and secret URL parameters are removed before events leave the machine.
  • Device authorization. Enrollment uses short-lived, single-use codes approved in the browser by a signed-in user.
  • Signed policy and intel. Policy versions and offline intel packs can be signed. When a required managed policy is invalid or unavailable beyond a fixed grace period, the connector blocks instead of dropping to weaker local rules.

Failure behaviour

Failure handling differs by layer. A single detection signal that errors is skipped and logged, and the call is still evaluated on the remaining signals. The connector entry points return a block on an internal error instead of silently allowing the call. Host-side behaviour when a hook is disabled, crashes or times out can still let a call through, which is why each connector lists it as a limit.

How this website and dashboard are protected

  • Sign-in and sessions are handled by Clerk; dashboard and control-plane routes require an authenticated session.
  • Security headers are set on every response: a content security policy that blocks framing and plugins, HTTP Strict Transport Security in production, no MIME sniffing, a strict referrer policy and a restrictive permissions policy.
  • Billing webhooks are verified by signature; internal scheduled jobs require a bearer secret.
  • The contact form validates input, uses a honeypot and rate limits, and does not log submitted details.
  • Optional browser diagnostics are off unless a visitor allows them, and session replay is not used.

Known gap: the content security policy still permits inline scripts that the framework and Clerk require. A nonce-based policy is planned, not done.

Known limits of the product

AIDR cannot see an action that never passes through the host's hook. A host that has its hook disabled, or that continues after a hook times out, can let a call through. Output inspection runs after a tool has run and cannot undo it. Per-connector limits are listed on the install page, and real-host acceptance is not complete.

Subprocessors

Third parties that can process data for the hosted application. Regions are not yet confirmed. We will give customers notice of changes once a notice process is agreed.

Subprocessors for the hosted web application
ProviderEntityPurposeDataLocationStatus
ClerkClerk, Inc.Sign-in, sessions and user identity for the web application.Email address, name, profile image, sign-in method, session identifiers.Not yet confirmed by the ownerIn use
Firebase / Cloud FirestoreGoogle LLCDatabase for account-scoped control-plane records.Registered agents and installation identifiers, policy documents, security events and incidents sent by enrolled agents, audit records, billing entitlements, waitlist and pilot requests.Not yet confirmed by the ownerIn use
PolarPolar Software, Inc.Checkout, subscription billing and, where applicable, payment and tax handling as merchant of record.Billing contact, plan and seat count, payment and tax details entered in Polar checkout. Card details are entered at Polar and are not stored by this application.Not yet confirmed by the ownerIn use when enabled
SentryFunctional Software, Inc. (Sentry)Error and performance diagnostics for the web application.Error messages, stack traces, request URL and technical metadata. Session replay is not enabled. Browser diagnostics are sent only after a visitor opts in.Not yet confirmed by the ownerIn use when enabled
Application hosting and edge networkVercel Inc. (this site is served by Vercel; the repository also contains Google Cloud Run and Cloudflare Workers targets that are not in use)Serving the website and API, TLS termination and request routing.Request metadata (IP address, user agent, URL), and the content of requests to the application.Observed on 2026-10-15: server functions run in Vercel's Washington, D.C. (iad1) region behind its global edge network. Not a residency commitment.In use
Cloudflare TurnstileCloudflare, Inc.Bot protection on forms and sign-in when a Turnstile site key is configured.Challenge response token, IP address and browser signals used for the challenge.Not yet confirmed by the ownerIn use when enabled
Contact-form destinationThe ticketing, chat or CRM service the owner configures for sales and support enquiriesReceives messages submitted through the contact form.Name, work email, company, topic and message text submitted by the visitor.Not yet confirmed by the ownerTo be confirmed