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.
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.
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.
| Step | Where | What happens |
|---|---|---|
| 1. Agent host | Developer machine | An AI coding agent proposes a tool call: a shell command, file write, web fetch or MCP action. |
| 2. Local detection | Developer machine | The 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. Verdict | Developer machine | The decision is allow, ask or deny. An ask is a block pending a human decision outside the agent session. |
| 4. Optional outbound legs | Configured services | URL, 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 plane | Hosted dashboard | Only 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.
| Provider | Entity | Purpose | Data | Location | Status |
|---|---|---|---|---|---|
| Clerk | Clerk, 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 owner | In use |
| Firebase / Cloud Firestore | Google LLC | Database 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 owner | In use |
| Polar | Polar 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 owner | In use when enabled |
| Sentry | Functional 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 owner | In use when enabled |
| Application hosting and edge network | Vercel 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 Turnstile | Cloudflare, 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 owner | In use when enabled |
| Contact-form destination | The ticketing, chat or CRM service the owner configures for sales and support enquiries | Receives messages submitted through the contact form. | Name, work email, company, topic and message text submitted by the visitor. | Not yet confirmed by the owner | To be confirmed |