CybersecurityFeatured

Security Exception Auditor

Finds the temporary exceptions that never ended

Version 2Published Sep 2, 2026
CybersecurityKnowledgeExtractclaude-opus-5Read-only · auto8 hard rules5 handover rulesResult
8hard rules
Things it must never do, enforced in every run
5handover rules
Conditions where it stops and gives the work to a person
9output fields
A structured result, not a paragraph you have to re-read
≤7steps per run
Bounded work: at most 5 tool calls, enforced by the runtime

Read-only by design. This agent has no path to sending, spending, publishing or committing anything. Where that limit is the product, removing it would remove the reason to trust the output.

Live wiring for version 2. Tool nodes are the capabilities this agent is registered to call — nothing else can run.

Overview

Every security policy needs a way to say "not this time", so exceptions get granted: a firewall rule opened for a migration, multi-factor waived for a service account, an unsupported operating system kept alive for one application, a vendor allowed to connect without meeting the standard. Each is a defensible decision made by a competent person under real pressure, with an end date attached.

The end date is the part that fails. Nobody is measured on closing an exception, the pressure that created it disappears the moment it is granted, and the owner moves on. The register grows, and after a few years the organisation's real posture is its policy minus a list nobody has read end to end.

The compounding version is worse than any single entry. Three individually reasonable exceptions can combine into a path — an unpatched host, reachable from a segment opened temporarily, using an account exempted from multi-factor. Nobody granted that path. It exists because three separate approvals never met.

This agent reads the register against reality: what expired and is still in force, what is owned by someone who left, which compensating controls were promised and never implemented, and which combinations form a path. It grants nothing, changes nothing, and never asserts that anything is secure.

Benefits

The register stops growing

Because what should have closed becomes visible.

Paths found before an attacker finds them

The combinations nobody approved on purpose.

An honest answer for auditors

What is exempt, why, and for how long.

What it does

  • Finds expired exceptions still in force

    Nobody is measured on closing one, and the pressure that created it vanished the day it was granted.

  • Checks the compensating control exists

    Exceptions are approved on the promise of one. It is the first thing to go unimplemented and the last thing anyone checks.

  • Finds combinations nobody approved

    Three reasonable exceptions that together form a path. No single approver ever saw it, because no approver saw the other two.

  • Traces orphaned exceptions

    Owned by someone who left. An exception with no owner is never going to be closed by anyone.

  • Reports the posture honestly

    Your real standard is the policy minus this list, and almost nobody has ever read it end to end.

  • Grants and changes nothing

    It touches no control, no rule and no register entry, and never states that anything is secure.

What this changes

What this changes about your week

It takes over
Reading the exception register against what is actually still in force.
Done today by
Nobody end to end. Exceptions are granted individually and never read together.
How often
Quarterly on paper; in practice at audit.
Typical manual effort
Every entry needs its expiry, owner and promised compensating control checked.

Why Cybersecurity in particular. Nobody is measured on closing an exception, and the pressure that created it vanishes the day it is granted. Worse, three individually reasonable exceptions can form a path no approver ever saw.

  • Runs unattended

    Started by you or by an event, and it finishes on its own. Nothing waits for someone to be at a desk.

  • The same standard every time

    The two-hundredth item is held to the bar the first one was. Consistency is the part people cannot sustain.

  • It cannot act on its own

    Security Exception Auditor has no path to sending, spending or committing. That limit is why its output is safe to act on.

How it runs

This agent runs server-side through the PROMIVO runtime. Each run is logged step by step and every tool call is permission-checked before it executes.

  1. 1InputValidated against the agent input schema
  2. 2Modelclaude-opus-5 with automatic fallback
  3. 3Toolssearch_knowledge, extract_structured_data
  4. 4PermissionsRuns READ actions automatically; anything higher waits for approval
  5. 5OutputStructured result matching the output schema
  6. 6LoggingTokens, duration and every step recorded

Demo

Demo dataIllustrative sample output, abridged.

Input

{
  "asAtDate": "2026-09-02",
  "exceptions": []
}

Output

{
  "escalate": true,
  "noExpiry": [
    "6 exceptions have no expiry date and apply to production systems. A permanent exception is a policy change that was never made as one."
  ],
  "orphaned": [
    "9 exceptions are owned by 4 people who have left. Nobody is going to close these."
  ],
  "disclaimer": "A review of the register and records supplied. No control, rule, policy or exception has been changed, granted or closed; no system was scanned, probed or tested; no statement is made that anything is secure, insecure or exploitable; and combinations are reasoning from the register rather than tested attack paths.",
  "combinations": [
    {
      "basis": "Reasoning from the register only. This is not a tested path and no assessment has been made of whether it is exploitable.",
      "exceptions": [
        "EXC-114",
        "EXC-208",
        "EXC-231"
      ],
      "sharedElement": "The payment reconciliation host",
      "whatItRemoves": "Three separate approvals have removed multi-factor on the service account, network isolation for an unsupported OS, and the patching requirement — all on the same host. No approver saw the other two."
    }
  ],
  "escalationReason": "An exception on a system handling payment data expired 1,372 days ago, a compensating control was never implemented, and three exceptions combine on one host.",
  "expiredStillInForce": [
    {
      "system": "Payment reconciliation service",
      "expiredOn": "2022-11-30",
      "reference": "EXC-114",
      "dataHandled": "Payment data",
      "daysExpired": 1372,
      "controlBypassed": "Multi-factor authentication"
    }
  ],
  "controlsBypassedRepeatedly": [
    "The patching standard has 23 live exceptions. That is a control that does not fit the estate, not 23 separate decisions."
  ],
  "missingCompensatingControls": [
    "EXC-208 was approved on the basis of network isolation for an unsupported operating system. No isolation appears in any record. The approver agreed to an exception with a control; what exists is the exception without it."
  ]
}

Requirements

Integrations

No integrations required.

Before you start

  • The exception register: what, why, who approved, expiry, compensating control
  • The systems and accounts each exception applies to
  • Current staff list
  • Whether each compensating control was implemented, where recorded
  • Requires the All-Access plan or higher

Use cases

Quarterly exception review

What expired, what has no owner, what has no control.

Before certification

What an assessor will ask about first.

After a reorganisation

Which exceptions lost their owner.

Risk committee reporting

The real posture, not the policy.

Pricing

All-Access

Billed monthly through your PROMIVO subscription. Cancel at any time.

Runs consume your plan allowance for agent executions and tokens. See plan limits

FAQ

Does it change security controls?

No. It touches no control, no firewall rule, no policy and no register entry. Closing an exception can break a live system, and that decision belongs to the people who own it.

Does it scan or test our systems?

Never. It performs no scanning, probing or testing of any kind. It reads the register and the records you supply.

How does it find combinations?

By checking whether exceptions touch the same system, account, or network path. It reports the combination and what it would allow, and states plainly that it is reasoning from the register rather than from a tested attack path.

Reviews

Reviews open once customers have run this agent.

Need this agent to work differently?

Tell us what to change and our team will scope a customised version for your business.

Customize this agent