{"slug": "show-hn-keydris-check-what-an-agent-is-allowed-to-do-before-it-runs", "title": "Show HN: Keydris, check what an agent is allowed to do before it runs", "summary": "Keydris, a new tool announced on Hacker News, lets developers define and enforce authority policies for AI agents before they execute actions, issuing decisions such as ALLOW, APPROVAL REQUIRED, or REJECT at the boundary where the action occurs. The tool integrates via a CLI and proxy, supports MCP and APIs, and records every decision in an auditable log, with policies that are versioned and revocable.", "body_md": "Proof of authority for AI agents\n\n# Control what AI agents can do.Before they do it.\n\nSet the rules. Keydris checks before they act.\n\nNo credit card required\n\nMCP · APIs · AI agents\n\n## Read(app/api/route.ts)1 result\n\n## Read(lib/auth.ts)1 result\n\nKeydris · authority check\n\n- Agent\n- agt_4f21\n- Action\n- —\n- Authority\n- —\n\nKeydris decision\n\n—\n\nreason · —\n\nTool outcome\n\n—\n\n—\n\nKeydris evaluates the authority assigned to this agent when it reaches a governed action.\n\nIllustrative\n\nnothing executes here · decision kd_dec_5178\n\nInstall and connect\n\n## Add Keydris to your code\n\nYour harness\n\n``` bash\n$ npm install -g @keydris/cli$ keydris init claude-code <agent-id>  # configures and signs in when needed$ keydris proxy up  # starts the background proxy$ keydris status  # checks the setup$ claude  # starts a governed Claude session\n```\n\nGet started\n\n## Govern one action in 5 steps\n\n- 01Register the agent, assign a policyIn the console, register the agent and assign it the policy you authored. You get an Agent ID.\n- 02Install the CLIUse Node.js 20+ on Windows, macOS, or Linux. npm installs the matching native binary.\n- 03Initialize the harnessConnect the Agent ID, write the harness settings, and sign in when prompted.\n- 04Start and check the proxyStart the background proxy, then check identity, policy scope, and harness wiring.\n- 05Run the agentA session starts, Keydris issues a short-lived KIT, and each governed action is checked against the policy before it executes.\n\n[Read the full quickstart ↗](/docs/quickstart)\n\nWhere it sits\n\n## You choose which actions require Keydris authority.\n\nYou integrate Keydris at the boundary that is about to carry out the action. That boundary obtains the authority decision and enforces it. Keydris supplies the decision; it is not the thing that executes.\n\nWhere the decision happens\n\nKeydris governs the paths where your application requires Keydris authority. It supplies the decision; your boundary enforces it; your tool executes. The request payload stays on the execution path. A path that does not present Keydris authority reaches the tool through your application’s own authorization. Keydris is not a network firewall.\n\nALLOW\n\nthe governed action proceeds\n\nAPPROVAL REQUIRED\n\nblocked pending a human · resolves to ALLOW or REJECT\n\nREJECT\n\nthe governed action does not proceed\n\nWhat it leaves behind\n\n## Every decision leaves a record you can read.\n\nThis is the same event you changed at the top of the page, opened. It answers why the decision happened, and it is explicit about what it does not establish.\n\nDecision record\n\nkd_dec_5183 · 2026-08-17T14:22:07Z\n\n1 Decision\n\nALLOW\n\nThe requested action was inside the authority assigned to this agent at the moment it was evaluated.\n\nreason · authority verified\n\n2 Authority evaluated\n\n3 Request\n\n4 Tool outcome\n\ncompleted\n\nReported by the tool after execution. Keydris decided; it did not execute the action.\n\n5 Not established by this record\n\nA decision record is evidence of what was checked and decided, not a claim about everything that happened afterwards.\n\nClaims, with receipts\n\n## Don’t take the claim. Take the link.\n\nEvery claim below links to a page you can read without a form. If Keydris cannot link it, it does not claim it.\n\n### Checked before the action, at the boundary\n\nAuthorization is evaluated per governed action, before execution. The receiving boundary obtains the decision and enforces the result.\n\nPolicy documentation\n\n### You author the policy, and it is versioned\n\nScope and limits are operator-defined and versioned, so each decision stays attributable to the policy that was in force.\n\nPolicy model\n\n### Revocation governs what comes next\n\nA revoked authority fails its next verification. The agent process is not terminated; completed actions are not reversed.\n\nAuthority management\n\n### Decisions and outcomes are recorded\n\nDecision records carry the evaluated action, the policy version, and the outcome, available for review and export.\n\nAudit log documentation\n\n### The CLI is public on npm\n\nInstall @keydris/cli and read the documentation before you talk to anyone. No account required for either.\n\n@keydris/cli on npm\n\n### Developer Preview, free to try\n\nSign up and run the first authority loop yourself: no invite, no sales call, no credit card. Production use is possible; there is no production SLA yet. The docs list the integrations supported today.\n\nCreate your account\n\n### Start free. Scale when you're ready.\n\n- Free · $0 · 1 agent · 1 policy · 1,500 KIT issuances/month\n- Builder · $20/month · 3 agents · 3 policies · 5,000 KIT issuances/month\n- Pro · $99/month · for teams operating Keydris\n\nVerification stays unlimited on every plan. Enterprise governance is a conversation. Talk to us.\n\nDeveloper Preview\n\nSee pricing\n\n### For MCP & API platform teams\n\nSee how a receiving system can check the authority attached to a governed agent action before accepting it.\n\n### For enterprise security & agent teams\n\nSee how policies, approval requirements, revocation, and decision records govern agents acting across enterprise systems.\n\nBoth paths use the same authority model: policy-defined scope, action-time verification, revocation, and decision evidence.\n\n## Why\n\nKeydris\n\n[Read the docs](/docs)\n\nWhy this exists\n\nOAuth, IAM, and API credentials establish access. They do not by themselves establish that this specific governed action is inside the policy assigned to this agent, and valid at the moment it is attempted.\n\nThat gap appears wherever agents act through MCP servers, APIs, and enterprise systems, before a human can review every call.\n\nKeydris adds the action-time authority decision under the policy you defined: ALLOW, APPROVAL REQUIRED, or REJECT.\n\nAuthority before action.\n\nSkeptical by design\n\n## FAQ\n\nThe questions a technical founder, platform engineer, or security reviewer should ask before adopting new infrastructure.\n\n## What is Keydris?\n\nKeydris lets you control what AI agents can do before they do it. You define a policy that says what an agent is allowed to do. When the agent attempts a governed action, that action is checked against the policy before it runs, and the result is enforced: ALLOW, APPROVAL REQUIRED, or REJECT. You can let an agent read a repository, require human approval before it merges a pull request, or revoke its authority so the next action it attempts fails verification. Revoking does not stop the agent process or undo work it already finished. Keydris makes the authorization decision. The action itself runs in the system that owns it.\n\n## Why isn’t OAuth or IAM enough?\n\nOAuth, IAM, service accounts, and workload identity establish who or what has access. Keydris works alongside them and adds a per-action authority check: whether this specific governed action is inside the policy assigned to this agent right now.\n\n## Is Keydris identity, authentication, or an MCP gateway?\n\nNo. Keydris is the authorization layer for AI agents. It is not an identity provider, agent runtime, monitoring product, or universal traffic proxy.\n\n## MCP already supports authorization. Why use Keydris?\n\nMCP authorization and existing identity systems remain part of the foundation. Keydris adds a governed authority lifecycle across the agent, the policy you author, the authority it presents, per-action verification, revocation, and decision evidence.\n\n## Where does verification happen? Can it complete locally?\n\nThe receiving boundary evaluates the governed action by requesting verification from the Keydris platform. That boundary can run in your environment, but it does not evaluate the policy by itself.\n\n## Does Keydris proxy my traffic or see my payloads?\n\nKeydris does not claim to be a universal proxy for your application traffic. On supported self-hosted paths, payload traffic stays inside your environment and authorization information crosses to Keydris. On third-party systems a Keydris integration may participate in the data path. Keydris does not claim it is never in any data path.\n\n## What exactly gets revoked? Can the agent keep running?\n\nThe authority is revoked, not the agent process. The agent may continue running and attempting actions, but revoked authority fails subsequent verification.\n\n## Who defines the authority and who issues it?\n\nYou define and change the policy. Keydris issues the agent an authority bound to that policy. Updating or reassigning the policy does not require redoing the agent’s CLI setup.\n\n## What does the decision record prove?\n\nA decision record preserves the evaluated action, agent, scope, policy version, checks, outcome, and timestamp for review and export. It is evidence of what the system checked and decided, not a guarantee of universal safety or compliance, and not a copy of the underlying request payload.\n\n## Why shouldn’t I build scoped checks myself?\n\nYou can build pieces of the model yourself. Keydris is for teams that want the policy, authority issuance, per-action verification, revocation, administration, and decision evidence to operate as one governed system across supported integrations. The public docs and CLI let you evaluate that tradeoff directly.\n\n## Does Keydris publish a latency benchmark?\n\nNot yet. The current public material makes no latency claim. Evaluate the supported architecture and integration paths in the documentation rather than relying on an unsourced performance adjective.\n\n## What is available today?\n\nDeveloper Preview, free to try. The CLI is public on npm, the documentation and the in-browser authority demonstration are open, and you can sign up and use the hosted application yourself without speaking to us. Production use is possible; there is no production SLA yet. The docs list the integrations currently supported.", "url": "https://wpnews.pro/news/show-hn-keydris-check-what-an-agent-is-allowed-to-do-before-it-runs", "canonical_source": "https://keydris.com", "published_at": "2026-09-03 14:08:01+00:00", "updated_at": "2026-09-03 14:23:03.452331+00:00", "lang": "en", "topics": ["ai-agents", "ai-safety", "ai-tools", "ai-policy"], "entities": ["Keydris"], "alternates": {"html": "https://wpnews.pro/news/show-hn-keydris-check-what-an-agent-is-allowed-to-do-before-it-runs", "markdown": "https://wpnews.pro/news/show-hn-keydris-check-what-an-agent-is-allowed-to-do-before-it-runs.md", "text": "https://wpnews.pro/news/show-hn-keydris-check-what-an-agent-is-allowed-to-do-before-it-runs.txt", "jsonld": "https://wpnews.pro/news/show-hn-keydris-check-what-an-agent-is-allowed-to-do-before-it-runs.jsonld"}}