Show HN: Klent – one click between your AI agent and a prod blast radius
Klent is a guardrail system for AI agents that intercepts tool calls to allow, deny, modify, or pause them, with a two-line SDK and audit trail. It prevents accidental destructive actions by requiring human approval for critical operations, such as database writes or refunds.
🚀 New
Private alpha · request access
AI Agent GuardrailsAI Agent Guardrails
Klent sits between your agent and the tools it calls. Allow, deny, modify, steer, or pause every tool call — with a two-line SDK and a full audit trail.
Get started
Currently invitation-only — we onboard new teams every week.
For tools you already use
The painful day
Six seconds to rewrite 47k rows.
You wired Claude Desktop to a Postgres MCP server pointing at prod. Daily analytics work has been fine for weeks.
Late-night, fast-typed request: “fix the malformed emails — normalize to lowercase”. Six seconds later, an UPDATE has rewritten ~47k rows. No diff, no second pair of eyes, no undo.
Klent doesn't stop you from shipping fast — it just gives the destructive part a handbrake. One policy, an email in your inbox, read twice, click Approve.
policies/hitl-approve-prod-writes.yaml
One policy. Every prod write pauses for review.
name: hitl/approve-prod-writes effect: approve required_approvals: 1 conditions:
- field: tool
operator: equals value: db_write
- field: input.env
operator: equals value: prod
Same shape for Stripe refunds, kubectl deletes, marketing email blasts. One control point.
Drop-in
Two lines in. Full control.
Klent ships as a TypeScript SDK, a Python SDK, and a stdio MCP server. Pick the one that matches your stack — or use them together.
import { KlentClient, runTool } from '@klent/sdk';
const klent = new KlentClient({ apiKey: process.env.KLENT_API_KEY! });
const execution = await klent.startExecution({ agent_id: 'prodcorp-dba' });
// Wrap any tool call. The SDK requests, evaluates, executes, and logs — // and waits synchronously for a human if the policy returns 'approve'. const result = await runTool(klent, { execution_id: execution.id, tool: 'db_write', input: { sql: 'UPDATE users SET email = LOWER(email)', env: 'prod' }, execute: (input) => pg.unsafe(input.sql), approval: { wait: { timeoutMs: 30 * 60_000 } }, });
if (result.status === 'denied') throw new Error(result.reason); if (result.status === 'allowed') console.log('OK', result.output);
Use Cases
db_query — SELECT id, email FROM users
db_write — pending approval (email sent)
human approved — UPDATE ran on prod
Pause irreversible writes
Wire Claude Desktop to a Postgres MCP. Klent allows reads, parks destructive writes for a one-click email approval.
[14:23:45] REQUEST
claude → stripe.refunds.create — $87,000 to enterprise@bigco
[14:23:46] BLOCKED
policy match — required_approvals: 2 (paused)
[14:24:12] VOTE
[email protected] voted approve · 1/2
[14:25:03] VOTE
[email protected] voted reject · refund denied
[14:25:04] RESOLVED
phishing identified · $87k stayed in the bank
Two-person rule on every refund
Multi-approver policies: two distinct humans must vote. One rejection terminates. Same pattern banks have used for 200 years.
One control point, every tool
Postgres, Stripe, kubectl, Slack — all gated through Klent. One policy surface, no per-tool wrappers.
Features
Inline Guardrails
Every tool call runs through a synchronous policy engine in under 50 ms. Allow safe ones, block dangerous ones — no agent framework lock-in.
Learn more
Human-in-the-Loop Approvals
Pause irreversible actions for a one-click approval. Email plus dashboard fan-out, single or multi-approver, idempotent voting.
Learn more
Action Rewrites
Mask PII, force --dry-run, cap a transfer amount. Your policy rewrites the input on the fly so the safer arguments run.
Learn more
Tool Steering
Redirect a dangerous call to a safer surrogate. Force a prod write into a sandbox cluster, or swap a write for a read.
Learn more
Shadow Testing
Test a policy in observe-only mode against the last 30 days of real traffic. See what it would have caught before enforcing it.
Learn more
Audit Timeline
Every decision lands as a structured event — request, evaluation, execution, human approvals. Queryable, exportable, audit-grade.
Learn more
The objection
“Couldn't we DIY this?”
Yes — and that's the right question to ask. Same shape as “couldn't I write my own auth?”. WorkOS, Stripe, LaunchDarkly exist anyway. Here's where the cost catches up.
Klent is WorkOS for AI tool calls. Same argument, same model, same outcome.
Ready to put guardrails on your agents?
Get started