Solution · Free trial

    Your security guidelines, followed by every coding agent.
    Checked in agent hooks or CI.

    More code, from more people who never read your security guidelines. Konvu drafts the checks from your code and context. The coding agent follows them as it writes, and CI runs them before merge.

    Free trial. SOC 2 Type II. Code never stored by Konvu or model providers, never used for training. GitHub access: read code and metadata, write pull request comments.

    Who writes code has changed. The guidelines did not move.

    More code, from more people

    Engineers ship more with coding agents. PMs, designers, and support engineers open pull requests too.

    The guidelines exist

    Every read scoped to the caller's organization. Role changes admin-only. Refunds keep their approval step. All of it in wikis, threat models, and the AppSec team's heads.

    Nobody writing the code reads them

    A new engineer skims them once. A PM prompting Claude Code never sees them. The agent does not know they exist.

    Review cannot close the gap

    Review capacity is flat while change volume grows. Violations surface late, from a reviewer who happened to look, or the next pentest.

    Step 1 · Drafted from your code and context

    Konvu writes down the rules your application already relies on

    Point Guardrails at a repository and share what you have: architecture docs, a threat model, pentest reports, past findings. It maps assets, actors, trust boundaries, and controls, then drafts the rule behind each control, linked to its source. The product calls these security invariants.

    Download the Guardrails datasheet (PDF)→
    Security invariant org-scoped-reads on acme/web, active, broken access control on Report. Condition, drafted by Konvu: every read on Report must be scoped by the organization_id of the session principal, never by an identifier from request input. Binds api/reports/** and require_org_scope in api/middleware/auth.py. Derived from the org-isolation boundary in the threat model, finding KONVU-2331 reproduced on 2026-06-14, and the fix in a41c2ef. Checked in agent hooks or CI.
    Step 2 · Review, edit, add your own

    You edit them, reject them, and add your own

    Edit the ones that read wrong, reject the ones you disagree with, and add the rules only your team knows, in plain language: no new route without the session middleware, every change under billing keeps the approval step. Custom rules are enforced like drafted ones. The rules stay yours.

    Terminal running konvu guardrails show acme/web. Four active rules with their sources: org-scoped-reads from code, the threat model and KONVU-2331; admin-only-role-changes from api/admin/roles.py; refund-keeps-approval from billing/refunds.py; no-new-public-routes, a custom appsec rule. Then konvu guardrails add acme/web "webhooks use the signing helper" adds the custom rule webhooks-signed, checked from the next pull request.
    Step 3 · In the coding agent

    The agent follows the guideline. The person prompting never has to read it.

    A deterministic hook decides whether a change touches a rule. When it does, the agent in Claude Code, Codex, or Cursor gets that rule and its evidence through the konvu CLI or MCP, and fixes the change before review. Senior engineer, new hire, PM, or unattended agent: same rule, same check.

    Why coding agents miss business-logic vulnerabilities→
    A coding agent session. The agent commits a bulk report export and the Konvu hook reports a finding on org-scoped-reads: api/reports/export.py:42 queries Report without org scope, derived from KONVU-2331, reproduced and fixed in a41c2ef. The agent reads the invariant, scopes the export query to the session organization, commits again, and all 14 invariants hold.
    Steps 4 and 5 · In CI, with a decision

    Every pull request checked. Every finding decided.

    CI checks every pull request against the same rules, report-only or blocking, including code written by hand. Hooks and CI are independent. A broken rule gets fixed. New access no rule covers yet is allowed, which records it as a rule, or denied. The decision lands on the pull request.

    Checks on acme/web pull request #482, which adds GET /api/reports/export. konvu / invariants fails with 1 finding: it breaks org-scoped-reads by reading Report without org scope, introduced in 2f8d1c3, derived from KONVU-2331 (reproduced). The same bug on a new route. 13 invariants hold and the verdict is recorded on the pull request. CI mode is report-only, so the finding is added for review.
    Fixed once, stays fixed

    Every bug you already paid to fix becomes a rule

    A pentest finding, or an exploit Konvu reproduced, becomes a rule with the fix commit as its evidence. The same bug cannot come back in a new endpoint, whoever writes it.

    Timeline for KONVU-2331, GET /api/reports/:id reads Report without org scope. 2026-06-14: exploit reproduced by Konvu, a cross-tenant read. a41c2ef: fix merged, reads scoped to the session organization. 2026-06-15: invariant org-scoped-reads active, checked on every change. PR #482: GET /api/reports/export, the same bug on a new route, caught in CI before merge with a finding on the pull request.

    Alongside your agents. Instead of a rules file.

    A SECURITY.md or AGENTS.md

    Advice the agent may ignore. It loads into every session, goes stale, and nothing checks it was followed.

    SAST custom rules

    Semgrep and CodeQL can express a missing tenant check, if someone writes the rule per service and keeps it current. Konvu drafts it and keeps it current.

    An AI reviewer

    A per-PR opinion without your threat model or a recorded decision. Guardrails checks the same rules every time and records the decision.

    Your scanner stays

    Scanners find dangerous calls and known patterns. Guardrails checks that your guidelines hold. Run both.

    Start with one repository

    Konvu drafts its rules with evidence. Add your own, and every change is checked from then on.

    Free trial. SOC 2 Type II. Code never stored by Konvu or model providers, never used for training. GitHub access: read code and metadata, write pull request comments.

    Frequently asked questions