Fixes that apply themselves, only when it is safe.

Known issues should not wait weeks in a queue, and blind auto-fixes should not reach where they were never meant to. Aribot proposes each fix, checks it, applies it under your rules and keeps the way back.

Dry run firstGates fail closedHuman approval where it countsRollback where a change can be undone

Every fix starts as a dry-run plan

You see the exact change as a diff, the resources it touches and what it is expected to fix, before anything is applied.

  • Findings that share a fix are grouped, so one review covers many resources
  • Nothing is written while the plan is under review

Nothing commits until the gates agree

Each fix must clear your policy, a blast-radius check, a posture check and a re-check that the attack it targets is closed. A gate that cannot be evaluated holds the change.

  • Policy: your rules on scope, environments and change windows
  • Blast radius: how far the change reaches, decided before any production write
  • Posture and attack re-check: the fix must improve posture and break the path it was meant to break

Approve the changes that matter

Low-risk fixes can apply on their own; higher-impact ones wait for a person. You decide where that line sits, and the decision is recorded with who made it.

A sealed record, and rollback as a normal operation

Every remediation carries a sealed record of the plan, the gates it cleared and who approved it. Where a change can be reversed, a rollback point is taken first, so reverting is routine and never an incident.

  • A finding closes when the resource is re-read and agrees
  • Refusals are on the record too, with their reason

Automation that fixes things also needs something that can say no

Most security teams already know what is wrong. The scanners have run, the findings are ranked and the fixes are often well understood: make a storage bucket private, narrow a role, close a port, raise a library to a safe version. What stops the fix is not knowledge. It is the fear that an automatic change will reach further than intended, break something that was working, or report success while the hole is still open.

So known issues wait in a queue. Every day they wait, the window an attacker needs stays open. The opposite answer, a script that patches whatever it finds, trades one risk for another: nobody can say afterwards what it touched, why it was allowed, or whether it helped. Neither answer survives a conversation with an auditor.

Aribot takes a third route. Every fix is proposed as a plan you can read, then has to clear a set of gates before anything is written. A gate that cannot reach a clear answer holds the change, which is what failing closed means. The fixes that clear the gates land quickly; the ones that do not are stopped and explained, and both outcomes are on the record.

Manual fixes are slow

A known issue sits for days or weeks waiting for someone to get to it, and the exposure lasts as long as the queue.

Blind auto-fixes can make it worse

A change that reaches too far, breaks a working path or only half-closes the hole is its own incident.

No proof it was safe

After an automated change, it is hard to show a reviewer that it only helped and that it broke the attack it was meant to stop.

Four people who have to say yes before automation can act

CISO

You want exposure windows measured in minutes for the issues that are safe to fix, and a clear line on what never changes without a named person. You also want evidence you can put in front of a board.

Head of platform or cloud

You own the estate the fixes land on. You need to know nothing reaches production outside a change window, nothing touches more than you allowed, and every change can be reversed.

Compliance lead

You need a change record that shows who approved what, which checks ran and what the outcome was, in a form that maps to change management controls without a spreadsheet hunt.

Engineering and AI leads

Your teams receive fixes as pull requests they can review like any other, and AI-proposed changes go through the same gates as the rest, with a second independent test before they land.

The life of a fix, from rehearsal to sealed record

Every remediation follows the same path, whether it was proposed by a rule, by an engineer or by an AI agent. The order matters: nothing that can change your estate happens until the plan has been read, checked and, where you require it, approved.

One fix, six checkpoints, one recordDry runplan + diffPolicyBlastradiusPostureAttackre-checkApproveApply +verifyheld 1xwaitingSealedrecordRevised plan: 5 resourcesHeld: plan reaches 14 resources, your limit is 5Sent back to the plan. Nothing was changed.v1v2gate passedheld closednot reached yetIllustrative figures
A gate that says no stops the change. The work carries on. The first version of this fix clears your policy, then the blast-radius gate holds it: the plan reaches further than your rule allows. Nothing is written. The fix goes back to the plan, comes out narrower, and this time clears every gate, waits for the approval your rule requires, is applied, re-read and sealed on the record.
  1. 1

    Dry-run plan

    The fix starts as a rehearsal. Aribot works out what it would change, on which resources, and what finding it is expected to close. Nothing is written. Findings that share one fix are grouped, so a single review can cover many resources.

  2. 2

    The diff

    You see the exact change: the configuration as it is, the configuration as it would be, and the steps to undo it. For code and infrastructure-as-code fixes, the diff is the one that would go into the pull request.

  3. 3

    Policy gate

    Your rules decide first: which kinds of fix may run, in which environments, at what severity, and whether a rule is locked so that no autonomy setting can override it.

  4. 4

    Blast-radius gate

    How far does the change reach? If it touches more than your limit allows, it is held before any production write, and the reason is recorded. A stop here is the protection working.

  5. 5

    Posture gate

    The change is only admitted if it does not make the system easier to attack. Earlier fixes must stay fixed: a change that would reopen a closed finding does not pass.

  6. 6

    Attack re-check

    The fix has to break the attack path it was aimed at. Changing a setting near it is not enough. Fixes proposed by AI get a second, independent test before they can go further.

  7. 7

    Approve

    If your approval rules require a person, the fix waits for them with the plan, the diff and the gate results in front of them. High-impact fixes can require sign-off from several named approvers.

  8. 8

    Apply and verify

    The change is applied in one all-or-nothing step, through the cloud provider or as a pull request. Then the resource is read again. The finding closes when the resource agrees. Sending the instruction does not close it.

  9. 9

    Sealed record

    The plan, every gate decision, the approver and the outcome are sealed into a tamper-evident record. Anyone with access can re-check a record later and see whether it was changed after it was saved.

  10. 10

    Rollback point

    Before the change, the state needed to reverse it is kept. If something downstream disagrees with the fix, an owner rolls it back as a normal action, and the rollback is recorded too.

You decide where the line sits, rule by rule

Autonomy is not one switch. Approval rules decide, for each remediation, whether it applies on its own, waits for a person, or is blocked outright. A rule can match on the kind of fix (cloud, code, configuration, infrastructure as code, design or process), the severity, the environment, how it is delivered (directly through the cloud provider or as a pull request), the control family it serves and a resource pattern.

Everyone in the company can see the rules. Only owners and security managers can change them. Production can be held to a stricter setting than staging and development, and a single emergency control stops all automatic changes while you look at something.

Off
Owner or security manager
Autonomy is switched off for the company. Fixes can still be planned and reviewed, but nothing applies itself. An emergency stop puts you here in one action.
Plan only
Anyone with access
Fixes run as dry runs. You get the plan, the diff and the gate results, and the overview counts these as simulations, never as fixes that landed.
Approval required
The roles your rule names
Fixes that clear the gates wait for a person. Rules can name the approver roles and raise an escalation tier, for example to the CISO or data protection officer, and high-impact fixes can need several named approvers.
Auto-apply within rules
Your rule, recorded
Fixes that match the rule, for example low severity in development, apply on their own once every gate passes. The rule that allowed it is on the record next to the fix.
Blocked
Nobody, by design
Some changes are never automatic. A locked rule blocks them whatever the autonomy setting says, so a later configuration change cannot quietly open them up.

One set of gates for a cloud setting and a line of code

Some fixes belong in the cloud account: a public bucket, an over-broad role, a database that accepts connections from anywhere. Aribot applies those through the provider, after the gates, and reads the resource back to confirm the change took.

Other fixes belong in code: a dependency with a known vulnerability, an unsafe default in an application, a Terraform module that will recreate the problem on the next deploy. Fixing the live resource alone would be undone by the next pipeline run. For these, Aribot opens a pull request on GitHub with the diff, after you have given consent for that repository, so your engineers review and merge it the way they review everything else. The same gates run before the pull request is opened.

Delivered through the cloud provider

Best for configuration on running resources. Applied in one step, re-read afterwards, with a rollback point taken first.

Delivered as a pull request

Best for code and infrastructure as code, so the fix survives the next deploy. Your review and merge process stays in charge.
BeforeInternetGatewayServiceStorageDatabaserole reads all bucketspublic readopen network-widePostureattack path openThree fixes, each through the gatesAfterInternetGatewayServiceStorageDatabaseleast privilegeprivateallow-listedPosturere-read: resources agree
Before and after, on the same picture. The same three components, read before and after. The storage is no longer public, the service role reads only what it needs, the database accepts only allow-listed callers, and the path an attacker would follow now stops at the service. Posture is shown as ten steps for illustration; in the product it is your own measured posture, and a fix is only admitted if it does not make the system easier to attack.

One morning at a fictional freight company

The company, people, times and figures below are invented to show the shape of a real working day. Nothing here describes a customer.

  1. Monday, 09:40

    A cloud scan at Fernhill Logistics, a fictional freight company, finds that a storage bucket holding shipment manifests allows public read, the service role behind the customer portal can read every bucket, and the orders database accepts connections from the whole network. Aribot links all three to one attack path on the portal's threat model.

  2. 09:41

    Three dry-run plans appear on the self-healing overview. The role fix is first: narrow the portal role to the two buckets it reads. The plan, as written, would also edit four shared roles used by other teams.

  3. 09:41

    The blast-radius gate holds it. Fernhill's rule allows a production fix to touch at most five resources without a wider review; this one touches fourteen. Nothing is changed. The overview marks it as a hold, with the reason.

  4. 09:52

    Priya, the platform lead, narrows the scope to the portal role alone. The revised plan touches five resources and clears policy, blast radius, posture and the attack re-check. Fernhill's rule says production identity changes need a security manager, so it waits.

  5. 10:05

    Marcus, the security manager, reads the plan, the diff and the gate results, and approves. The change is applied, the role is read back and agrees, and the finding closes. The bucket and database fixes, both inside Fernhill's auto-apply rule for this kind of change, have already landed and been verified.

  6. 10:20

    The portal's attack path now stops at the service. The record shows every step: who proposed, which gates held and passed, who approved and what was re-read. When Fernhill's auditor asks about change management next quarter, this record is the answer.

Every change keeps its way back

A fix can be correct and still disagree with something nobody listed. The public website might have been reading images from the bucket you just made private. A batch job might have relied on the role you narrowed. Gates reduce these surprises; they cannot remove them.

So the plan carries its own undo steps, and the state needed to reverse the change is kept before it is applied. If a dependent system complains, an owner chooses roll back on the remediation. The resource returns to its earlier state, the rollback is recorded with who did it and why, and the original finding is reopened so the next plan can solve the real problem. A rollback is an ordinary operation, and nobody has to hold an incident review.

Rollback point, restoredRollback pointFix appliedDependent checkRoll backRoll backStorage bucketAccesspublic readprivatepublic (restored)Site imagesloadingfailingloadingIllustrative resource and timesON THE RECORD10:02 rollback point taken10:04 fix applied, re-read ok10:09 site images failing10:11 rolled back by owner10:11 finding reopened, new plan
Going back is a normal operation. A rollback point is taken before the change. When a dependent check fails after the fix, an owner rolls back with one action, the resource returns to the saved state and the record keeps every step. The finding is reopened, so the next plan can solve the real problem: here, moving public images out of a bucket that should be private.

What you see once you sign in

The self-healing area is built for the people who have to trust it. Every number states exactly what it counts, and every refusal is shown as what it is: the system stopping a change that did not meet your rules.

Self-healing overview

Fixes applied to live systems today, fixes still being planned, fixes stopped by a safety gate before anything changed, and the all-time total. Dry runs are counted separately, so a simulation is never shown as a fix that landed.

Gates and remediations

Every remediation with its target, status and mode. Open one to follow it through each gate, see the evidence recorded at each step, and approve or reject it if it is waiting for you.

Safety guarantees

The six checks every automatic fix must pass, each with live evidence from your own estate, and a button to re-check a saved record. An empty list says so plainly, and tells you what to do to fill it.

Settings

Approval rules, safety rules and autonomy per environment, with the emergency control. If you have not set a rule yet, the page says which default applies.

Evidence that maps to the controls you already report on

Aribot does not certify you against anything. What it gives you is a complete, checkable record of each automated change, which is what these public standards ask you to show when changes are made to systems in scope.

ISO 27001

Change management and technical vulnerability management: each change has a plan, an approval where required, a test and a record.

SOC 2

Change management criteria: authorised, tested and documented changes, with the approver named on each one.

NIST SSDF

Responding to vulnerabilities: fixes planned, delivered through your normal code review and verified after release.

EU AI Act and NIST AI RMF

Human oversight of automated actions: you set what AI-proposed fixes may do alone and what needs a person, and can stop all of it at once.

ISO/IEC 42001

Controls over AI systems acting in your estate: their changes pass the same gates and leave the same record as any other.

OWASP and SLSA

Code and supply-chain findings fixed as reviewed pull requests, so the build stays traceable from source to release.

Frequently asked questions

Will Aribot change production without asking?

Only if you write a rule that allows it, and only for fixes that clear every gate. By default, nothing applies itself. Production can be held to a stricter rule than other environments, and a locked rule can block a kind of change whatever the autonomy setting says.

What happens when a gate cannot decide?

The change is held. A gate that cannot reach a clear answer, for example because a resource could not be read, does not pass the fix. You see the hold and its reason on the remediation, and can fix the cause and run the plan again.

How do I know a fix worked?

After the change is applied, the resource is read again. The finding closes only when the resource agrees. The attack re-check confirms the fix breaks the path it was aimed at, and the posture gate confirms it did not open another.

Can I undo a fix?

Yes, for changes that can be reversed: the plan carries its undo steps and a rollback point is kept before the change. An owner can roll back from the remediation, and the rollback is recorded with who did it. Ask us in a call about any change type you expect to be hard to reverse.

Who can approve fixes?

The roles your approval rules name, such as owner or security manager. Rules can raise the escalation tier for sensitive changes and require several named approvers for high-impact ones, each sign-off recorded.

Do AI-proposed fixes follow the same rules?

Yes, and one more: a fix proposed by AI gets a second, independent test before it can go further. It is subject to the same policy, blast-radius, posture and approval rules as any other change.

Does it work with our code review process?

Code and infrastructure-as-code fixes are opened as GitHub pull requests on repositories you have consented to. Your reviewers, branch protection and pipeline checks stay in charge of whether they merge.

What does an auditor get?

A sealed record per remediation: the plan, each gate decision, the approver and the verified outcome, plus refusals with their reasons. Anyone with access can re-check that a record was not altered after it was saved.

How do we start?

Create an Aribot account, connect a cloud account or repository and leave autonomy on plan only. You will see dry-run plans and gate results for your own findings before you decide what, if anything, may apply on its own.