Skip to content

The control plane for your coding agents.

200+
curated rules, maintained
13
agents written to
10
stacks, version-pinned
3
git providers

How it works

One ruleset. Every repository, every agent, at once.

Nothing runs at execution time. A rule travels as a file, through a review, into the agent that was going to read that file anyway — and the last step is the part nobody else gives you: a measured answer to what is running where.

  1. 1Write or adopt rulesYour own, or 200+ the library maintains — pinned to the versions of the stacks you actually run. One ruleset, versioned and owned by your organisation.
  2. 2See what each agent getsCompiled into the thirteen files the agents read: CLAUDE.md, AGENTS.md, Cursor’s .mdc, Copilot’s instructions and the rest. What a preview shows is what a deploy writes.
  3. 3Ship it as a pull requestOne per repository, merged by your team. Hand-written files are never overwritten, and a repository with nothing to change is skipped.
  4. 4Know what is liveEvery pull request is checked against the rules that govern its repository, and coverage is read back from the repositories themselves — "up to date" is measured, not assumed.

The problem

Every agent reads a different file. Nobody owns any of them.

Teams copy-paste instructions between tools and the copies drift. And the instruction that matters most — what an agent may run, read and edit — is usually not written down anywhere at all.

  • CLAUDE.md

    Claude Code

    Edited last week. Has the new error-handling rule.

    the source of truth, unofficially

  • AGENTS.md

    Codex

    Pasted across in July, then edited separately.

    4 rules behind

  • .cursor/rules/*.mdc

    Cursor

    Split into per-rule files by hand. Twice, by two people.

    1 duplicate, 2 stale

  • .github/copilot-instructions.md

    GitHub Copilot

    Added when the repository was created. Never revisited.

    last touched 6 months ago

+ nine more agents, each with its own file

?

Which rules is this repository actually running?

?

Who approved the skill that agent just loaded?

?

What is that agent allowed to run on a developer’s machine?

Safety

Guardrails they enforce, not guidance they might read.

A guardrail says what an agent must never do, must ask about first, or may do without asking — over shell commands, the files it reads, the files it edits, and the MCP servers it connects to.

Guardrails on this ruleset

9 presets
ActionApplies toPattern Claude Code Cursor CLI Cursor IDE Gemini CLI
neverreads a file**/.env·
neverruns a commandgit push --force*·
neverruns a commandsudo *·
ask firstruns a commandterraform apply*·
ask firstedits a file.github/workflows/**·
allowMCP serveraidoscope
.claude/settings.json.cursor/cli.json.cursor/permissions.json.gemini/settings.json

Those files usually hold your own entries. Aidoscope adds its own beside them and, on the next deploy, removes only the ones it added. A settings file that is not plain JSON is left alone, and the deploy says why.

Refused on the machine

The same hook that reports what agents do refuses a denied command locally, so enforcement never waits on the network — and never depends on an agent choosing to comply.

secrets masked before anything leaves the laptop

Every imported skill is scanned

Instruction overrides, safety bypasses, exfiltration, decode-then-execute and hidden text, each finding linked to the line it names. A heuristic, and the product says so.

agents propose · owners approve · no agent deploys

Nothing is overwritten quietly

Generated regions carry a marker. A file without one is reported as a conflict you confirm first, and the sections a ruleset does not cover are carried through untouched.

checked in the API, not only in the UI

Control

Thirteen agents. One place to decide.

Add an agent to a ruleset and its files appear in the next deploy. Nothing is re-entered by hand, and nothing is left to whoever set up that repository last year.

Claude CodeCLAUDE.mdCodexAGENTS.mdCursor.cursor/rules/*.mdcGitHub Copilot.github/copilot-instructions.mdGemini CLIGEMINI.mdWindsurf.devin/rules/Cline.clinerules/Zed.rulesAmazon Q.amazonq/rules/Kiro.kiro/steering/Augment.augment/rules/JetBrains Junie.junie/rules/Goose.goosehintsClaude CodeCLAUDE.mdCodexAGENTS.mdCursor.cursor/rules/*.mdcGitHub Copilot.github/copilot-instructions.mdGemini CLIGEMINI.mdWindsurf.devin/rules/Cline.clinerules/Zed.rulesAmazon Q.amazonq/rules/Kiro.kiro/steering/Augment.augment/rules/JetBrains Junie.junie/rules/Goose.goosehints

Agent policy

A managed policy can make a repository’s own skills, commands, subagents, hooks and MCP config invisible. Paste yours — it is read in your browser, nothing uploaded — and Aidoscope names exactly what it switches off, builds the policy file for Claude Code, Codex and Gemini CLI, and lists what a policy cannot express rather than approximating it.

MCP, catalogued and gated

Health checks are a real JSON-RPC handshake, not a ping. Deploy server config merged into what is already there, or route a server through Aidoscope with a tool policy and a credential nobody’s laptop holds.

Skills and automations

Subagents, commands and hooks written once, delivered in each agent’s own format. Skills import at a pinned commit, scanned before you adopt them.

Plugins that survive a lockdown

An organisation marketplace that still reaches Claude Code when a managed policy ignores the repository’s own files.

People, teams and access

Owner, admin and member roles. Teams that group people and repositories, so a ruleset can be aimed at one. Single sign-on through OIDC, SCIM provisioning, and API keys for CI.

The record

An append-only audit trail of every change and every deploy — which ruleset version went where, as which pull request. Filterable, exportable to CSV, and the same source the Slack and Teams updates come from, so the channel and the log cannot disagree.

The library

200+ rules worth deploying on day one.

A few dozen that hold whatever you build, and the rest that only hold on one stack — the mechanical ones that actually change what an agent writes.

library rules
200+
stacks
10
agents
13
  • Angular
  • React
  • Vue
  • Next.js
  • NestJS
  • .NET
  • Python
  • Go
  • Django
  • Spring Boot

Pinned to the versions you run

38 rules are version-gated

Some advice inverts at a release. Pick a version and watch which rules apply.

5 of 6 rules apply
  • ≥ 22Do not write OnPush explicitly — it is the default
  • ≥ 22Declare services with @Service
  • ≥ 22Build new forms with Signal Forms
  • ≥ 20Do not write standalone: true
  • allUse inject() rather than constructor parameter injection

stack selectionangular:22a bare stack shows every version’s rules

Two rules with disjoint version ranges, never one with a caveat — so no version can ever be handed both.

securityrequiredone rule, in full · universal

Keep personal data out of logs, traces and error reports

Log identifiers, not identities. A user id, order id or request id lets someone follow an event; an email address, name, phone number, postal address, IP address or free-text field turns every log line into personal data that now needs a retention period, access control and a place in the erasure process. Never log passwords, tokens, session cookies, API keys or card numbers.

Rests on

GDPR Art. 4(1) — online identifiers are personal data OWASP Logging Cheat Sheet
Adopting copies it into your organisation — then it is yours to edit13 files

Grounded, with the number in the rule

OWASP Top 10 2025OWASP Cheat SheetsCWEGDPRePrivacyPCI DSSRFC 9457WCAG 2.2 AACore Web Vitals

Security and privacy rules carry the article or requirement they rest on. “Keep pull requests small” is unenforceable; a threshold is not.

Coverage per stack is enforced, not aspirational: every stack carries at least twelve rules. And once rules are running, rule health tells you which have stopped earning their place.

Security and data handling

Deterministic by design. Scoped by default.

Aidoscope runs no model inference. The compilers are pure functions: the same rules always produce the same files, and you can read them before they ship.

  • No model inference

    Nothing is sent to a model. The compilers are deterministic, so a preview and a deploy cannot disagree.

  • Credentials encrypted, tokens hashed

    Git credentials are encrypted with AES-256-GCM. Session, invitation and agent tokens are stored only as hashes.

  • Agent grants are narrow and revocable

    Each agent token is bound to the one resource it was issued for. Every live connection is listed with who approved it.

  • Two guards on every row

    Everything is scoped to an organisation: one guard resolves the session, the other checks the role.

  • Removal takes effect at once

    Removing a member ends their sessions and revokes their agent grants in the same transaction.

  • Telemetry minimises before it leaves

    Only the fields you choose, secrets masked on the machine. Prompts are off by default and need their own confirmation.

Evidence an auditor will accept, and nothing more

Aidoscope names all nine SOC 2 Common Criteria, says which of them it observes and which are outside the product entirely, and exports the audit trail for a period with each row tagged by the criteria it bears on.

It deliberately shows no score. SOC 2 is an auditor’s opinion after an observation period — a page of green ticks would read as readiness, and it would be wrong.

There is no SOC 2 report and no ISO certification yet, and nothing here implies one. Repository contents are read to compile and compare, and imported skills are stored: we will not tell you we never see your code.

Common Criteria

  • CC1Control environment
  • CC2Communication
  • CC3Risk assessment
  • CC4Monitoring
  • CC5Control activities
  • CC6Logical access
  • CC7System operations
  • CC8Change management
  • CC9Risk mitigation

Exportable for any period, as CSV.

Pricing

Counted in developers, not seats.

Every plan is quoted for your organization and counted per contributing developer: a person with a commit in the last 90 days to a repository an Aidoscope deploy has merged into. Not everyone with a login — one admin can deploy to everything — and not repositories, which a monorepo makes meaningless.

Team

For a team putting its rules everywhere it works.

Custom quote

Priced for your organization

Includes

  • 5–20 members
  • Unlimited repositories, rules and deploys
  • GitLab
  • Slack, Teams and webhooks
  • CI API keys
  • Guardrails
  • Adoption
  • Machine sync
  • Teams
  • 90 days of audit log
Request a quote

Enterprise

For large organizations with their own requirements.

Custom quote

Priced for your organization

Everything in Business, plus

  • Unlimited members
  • SCIM provisioning
  • Service-level agreement
  • Data processing agreement
  • Full audit log history
Request a quote

Bots are never counted

Dependabot, GitHub Actions and the agents’ own commit identities are excluded before anyone is counted.

Nothing stores a name

A contributor is a hash of the commit author plus a repository and two dates. That is the whole record.

Checked before you pay

The billing page shows the count repository by repository before anything is charged.