1 / 14
Heeler · Product briefing

You can’t defer risk anymore.

Prevent it and fix it at machine speed.

AI is uncovering vulnerabilities faster than ever, and attackers use AI to weaponize them, often within a day. A backlog is no longer a place risk can wait. Burn down the backlog with deterministic fixes, exploitable first. Heeler automates security at every stage of the AI SDLC, from prompt to runtime.

  1. 01
    Why now
  2. 02
    The platform
  3. 03
    Context and code-to-runtime mapping
  4. 04
    Prevention
  5. 05
    Autotriage and remediation at scale
  6. 06
    Why not just use an LLM?
  7. 07
    What you get
keyboard
 Use the arrow keys or the dots on the right
01 · Why now

The vulnpocalypse is here.

More vulnerabilities than ever, often exploited within a day, and the same team to fix them. The math no longer works, and every open finding is real risk.

020k40k60k80k28,818202340,009202448,185202537,137first half~74,000ON PACE FOR2026CVES PUBLISHED PER YEAR
MEDIAN TIME FROM DISCLOSURETO EXPLOITATION2021about a year20261 dayMost vulnerabilities went unfixed.Now fix them all, exploitable first.
+51%
vulnerabilities published, first half of 2026 vs 2025
38%
of exploited CVEs hit before, on or within 7 days of disclosure
<1 day
for a frontier model to turn known vulnerabilities into working exploits
~60%
of breaches happened when a patch was already available
01 · Why now

To survive the vulnpocalypse, AppSec has to adapt now.

trending_up
From security debt and exposure
arrow_downward
shield
To prevention

Stop new risk where it starts: in the agent, at the commit and on the pull request.

inbox
From triage by hand
arrow_downward
balance
To automated decisions

Every finding ranked the moment it lands, from what runs and what it reaches.

confirmation_number
From tickets
arrow_downward
bolt
To deterministic agentic fixes

The fix version is calculated, not guessed. An agent makes the change, validates it in your CI and repairs what breaks. Your team merges it.

02 · The platform

One automated loop: prevent, decide, fix.

Heeler stops risk as code is written, ranks and routes every finding on its own, and fixes it with merge-ready pull requests. People step in only to merge and grant exceptions.

edit_notevisibilityterminalrulerocket_launchcrisis_alertbalancegavelgroupsbuildmergeSTART HEREWriteIn the agent before it writes a lineMCP AND AGENT SKILLSObservePrompts, tool calls and skills, per sessionWORKSTATION SENSORCommitLive secrets and bad packages stoppedCLI · AT COMMIT AND IN CIReviewEvery pull request checkedPR GUARDRAILSRunWhat deployed, and where it is exposedAUTOMATED SERVICE MODELINGDetectEvery new finding, code to cloud to agentsALL NINE RISK AREASDecideUrgent, Plan or Defer, or your exceptionAUTOTRIAGERouteOwner found, ticket and message sentOWNERSHIP · WORKFLOWSFixFix PR through review, you merge itAUTO-FIXContext EngineEvery step reads the same modeltune
person
People stay in charge
merge
Merge the fix
gavel
Grant exceptions
tune
Set once: tiers, SLOs, guardrails
02 · Watch it work

Five moments every AppSec team knows. Here is what Heeler does with each.

Each one runs end to end without a triage meeting. Pick one.

  1. crisis_alert
    01 · New finding

    CVE-2022-22965 in spring-beans, on checkout-api

    Threat intel
  2. hub
    02 · Context

    Tier 1, production, internet accessible, function reachable

    Context Engine
  3. balance
    03 · Decision

    Urgent. The SLO is 14 days.

    Autotriage
  4. groups
    04 · Owner

    CODEOWNERS names @payments-team

    Ownership
  5. send
    05 · Response

    Ticket in PAY, message in #payments-security

    Workflows
  6. build
    06 · Fix

    Auto-fix opens the upgrade PR, validated in CI

    Auto-fix
check_circle
Fixed inside the SLO.
Nobody triaged it, assigned it or wrote the upgrade by hand.
  1. edit_note
    01 · The task

    Add PDF export to billing-service

    MCP and Agent Skills
  2. policy
    02 · Your policy

    Heeler MCP tells the agent your guardrails: licenses, minimum package age, known vulnerable versions

    MCP and Agent Skills
  3. verified
    03 · A safe choice

    The agent picks a version that passes, not the newest one

    MCP and Agent Skills
  4. visibility
    04 · The record

    The sensor records prompts, tool calls and skills as the agent works

    Workstation Sensor
  5. terminal
    05 · The commit

    The CLI hook checks secrets and packages, and the session is linked to the commit

    CLI
  6. rule
    06 · The pull request

    PR Guardrails check new dependencies, secrets and agent files

    PR Guardrails
check_circle
The risk never lands.
The agent wrote it right the first time, and the PR proves it.
Keep it out
If it is already in
  1. crisis_alert
    01 · Reported

    Malicious-package intelligence reports the bad version as soon as it is known

    Threat intel
  2. schedule
    02 · Cooling off

    A minimum package age rule was already holding brand-new versions back

    PR Guardrails
  3. block
    03 · No way in

    PR Guardrails block any pull request that adds the malicious version

    PR Guardrails
  4. travel_explore
    04 · Do I have exposure?

    Every repository and running service with it, at the exact version, even when unpinned, from what runs

    Context Engine
  5. campaign
    05 · Response

    Security is alerted and each owning team gets a ticket

    Workflows
  6. build
    06 · Fixed

    Auto-fix opens a pull request to a safe version, validated in your CI

    Auto-fix
check_circle
Kept out before it lands.
And if it already has, you know where it runs and the fix is on its way.
Stop it at the commit
If one is already in code
  1. terminal
    01 · Caught at commit

    The CLI hook checks the key with its provider before the commit exists. It is live

    CLI
  2. block
    02 · Commit stopped

    The agent is told to remove the key and rotate it. Nothing reaches the repository

    CLI
  3. rule
    03 · Flagged on the PR

    A key already in the change is exposed, so PR Guardrails alert the reviewer that it must be rotated

    PR Guardrails
  4. history
    04 · Found in history

    Keys on any branch or in git history are found and proven live against the provider

    Secrets
  5. send
    05 · Rotated by the owner

    Rotate now. Ticket to the team that owns the repository, alert to security

    Workflows
check_circle
New secrets stop at the commit.
The ones already in code are proven live and rotated first.
  1. timer
    01 · SLO expiring

    A finding is days from its SLO due date

    SLOs and exceptions
  2. forum
    02 · Nudge

    Heeler messages the owning team before the deadline passes

    Workflows
  3. lock
    03 · Vuln jail

    Past due, PR Guardrails block new pull requests in that repository

    PR Guardrails
  4. merge
    04 · The way out

    The fix PR passes, because it removes the vulnerable version. Merge it and the block lifts

    Auto-fix
  5. gavel
    05 · Or an exception

    Cannot fix yet? Record a reason and an end date. When it ends, the finding comes back

    SLOs and exceptions
check_circle
Deadlines do not slip.
Past due, the repository waits for the fix, not the other way round.
03 · Context Engine

Context is the difference. Heeler builds it on its own.

Many tools hand your code to an LLM and hope it reasons its way to the right answer. Security cannot run on hope: the same finding has to get the same answer every time. Heeler gathers the context itself, from your catalog and ownership to what actually runs, so it can be deterministic wherever security requires it, and use AI where it helps.

ReposDependenciesAPIsReachabilityData flowsApplicationsTiers 1 to 4Shared codeTeamsCODEOWNERSContributorsRoutingPromptsTool callsSkillsMCP serversCommitsKEVEPSSMalwareCampaignsScorecardDeploymentsRuntimeExposureImagesDatastorescodeCodedomainBusinessgroupsOwnershipsmart_toyAgentcrisis_alertThreatcloudCloudContextEngine
03 · Setup

Connect it all. Heeler builds the model.

Each connection is an app install, a token or a read-only role, with nothing to change in your code or pipelines. Every one you add sharpens how Heeler ranks, routes and fixes.

folder_code
Source control
App or token
GitHub
GitLab
Bitbucket
Azure DevOps
add
Code, dependencies, teams
cloud
Cloud and hosting
Read-only role
AWS
Azure
Google Cloud
Kubernetes
Vercel
add
Deployments, exposure, runtime
inventory_2
Artifact registries
Token
JFrog
Nexus
CodeArtifact
Harbor
Docker Hub
GitHub
GitLab
Google Cloud
add
Images and packages
laptop_mac
Workstation Sensor
Workstation install
Prompts
Tool calls
Commits
add
What your coding agents did
confirmation_number
Tickets
App or token
Jira
Linear
GitHub Issues
Shortcut
add
Where work lands
forum
Chat
App install
Slack
Microsoft Teams
Google Chat
add
Where alerts land

Heeler adapts to you, not the other way around

It reads what your teams already use and sends work back to the same places.

groups
Teams in GitHub, GitLab or Port
arrow_forward
Synced every four hours
description
CODEOWNERS and owner files
arrow_forward
Honored, most specific first
domain
Your applications and tiers
arrow_forward
Set in Heeler or synced
account_tree
Your pipelines and builds, as they are
arrow_forward
Nothing to add to CI
lock_open
Repositories without lockfiles
arrow_forward
Versions resolved for you
psychology
How each repository builds and tests
arrow_forward
Remembered by Auto-fix, plus your own notes
confirmation_number
Each team's ticket preferences
arrow_forward
Its own tool, project, issue type and fields
forum
Each team's messaging preferences
arrow_forward
Its own Slack, Teams or Google Chat channel
timer
Your fix timeframes
arrow_forward
Tracked against your SLOs
Not required
block
Pipeline integration
block
CI or build changes
block
Lockfiles in every repo
block
Manual service mapping
block
An owner spreadsheet
03 · Automated service modeling
Patent pending

Every finding, linked to what runs, what matters and who owns it.

Heeler models how your code becomes a running service, where it is exposed, how critical it is and who owns it. Autotriage reads that model to decide what comes first.

EXAMPLE · TWO DEPENDENCY (SCA) FINDINGS IN ONE SERVICEfolder_codeRepositoryacme/paymentsview_moduleModuleservices/checkouthubServicecheckout-apirocket_launchDeploymenta1b2c3 · productionpublicCloud resourceLoad balancer · publicgroupsOwning team@payments-teamCODEOWNERSdomainApplicationPayments · Tier 1business impactdeployed_codeContainer imagecheckout:1.8.2runningbug_reportSCA findingCVE-2025-24813Defernot function reachablein the manifestmemoryRuntime evidencecommons-text loadedfound at runtimebug_reportSCA findingCVE-2022-42889Urgentloaded · public · Tier 1runtime onlydatabaseDatastore reachedorders-db · PIIchaining
What Autotriage reads here
function
Function reachability
memory
Found at runtime
public
Internet accessible
database
Datastore reached
domain
Service tier
crisis_alert
Threat intel: KEV, EPSS

04 · Prevention

Prevention at every step, from before the first line to the merge.

MCP and Agent Skills guide the agent while it plans and writes. The Workstation Sensor watches what it does, the CLI stops bad commits, and PR Guardrails gate the merge. Each layer catches what the one before it could not.

Workstation Sensor →PromptTool callsshell · skills · MCPDiffSecret in a promptDangerous actionInjected instructionWORKSTATION SENSOR · AS THE AGENT ACTSWorkstation Sensor →Heeler CLI →CommitCommit blockedHEELER CLIHeeler CLI →PR Guardrails →Pull requestthe merge gateGated at mergePR GUARDRAILSPR Guardrails →Coding agentClaude Code · Codex · CursorOpenCode · VS Code (Copilot)Guided as it writesMCP AND AGENT SKILLS
05 · Autotriage

Fix what can hurt you first.

Autotriage sets Heeler Risk on each dependency and code finding: Urgent, Plan or Defer. It asks how critical the service is, whether an attacker can reach the flaw, and whether it is under attack. Teams get a short list to fix now.

CVE-2025-24813
tomcat-embed-core 10.1.34
orders-api
1
How critical is the service?
High
Tier 1 · Production
2
Can an attacker reach it?
High
Function reachable
Runtime library reachable
Internet accessible
Mitigated: No
Chaining: reaches PII datastore
3
Is it under attack?
High
Exploit threat: Confirmed
No LLM involved
Urgent
Fix within 14 days
05 · Deterministic decisions

Your context sets the priority. Not an LLM's opinion.

An LLM asked what matters gives a different answer each run and cannot show its work. Autotriage applies fixed rules to what the Context Engine knows about your environment, so the same inputs always give the same level.

Automated
Runs on every finding as it lands, and again when your environment changes.
Deterministic
Same inputs, same level, on every run.
Auditable
Each finding shows the inputs behind its level.
Context driven
Your deployments, exposure and threat data. Not a model's guess.

Six finding types, six rules. Choose one:

Three answers pick one cell: how critical the service is, whether an attacker can reach it, and whether it is under attack.

INPUTS FROM THE CONTEXT ENGINEFIXED DECISION TABLE · NO WEIGHTSBusiness impactPICKS THE TABLETier 1-2, in productionHighTier 3-4, in productionMediumOutside productionLowEnvironment impactPICKS THE ROWWHAT HEELER CHECKSRunning deploymentRuntime library loadedVulnerable function calledInternet accessibleMitigations checkedChaining: datastores, secrets, Tier 1CVSS impactExposed, full control or a path to dataHighExposed, limited damageMediumNot exposed, or mitigatedLowThreatPICKS THE COLUMNOn CISA or VulnCheck KEV, or maliciousHighEPSS 0.40 or higherMediumNo threat signalLowBusiness HighTier 1-2Business MediumTier 3-4Business LowOutside productionLowMediumHighTHREAT →HighMediumLowENVIRONMENT ↓PlanUrgentUrgentPlanPlanUrgentDeferDeferDeferPlanPlanUrgentPlanPlanPlanDeferDeferDeferDeferDeferDeferDeferDeferDeferDeferDeferDeferRows: environment impact·Columns: threat· Pick the business impact above

The traced path decides. A flaw on an open internet route outranks the same flaw behind auth on an internal service.

INPUTS FROM THE CONTEXT ENGINEFIXED DECISION TABLE · NO WEIGHTSBusiness impactPICKS THE TABLETier 1-2, in productionHighTier 3-4, in productionMediumOutside productionPlan at mostEnvironment impactPICKS THE ROWWHAT HEELER CHECKSInternet accessiblePath from a network entryAuth on the endpointCredentials, PII or financial dataChaining: data, Tier 1, auth issuerSuppressions, false positivesInternet accessible, no authHighInternet accessible, behind authMediumInternal only, or mitigatedLowSensitive data or chaining+1 levelThreatPICKS THE COLUMNWeakness on the CWE KEV Top 10HighCWE Top 25, CAPEC or OWASP Top 10MediumActive campaign+1 levelNo CWE dataRule severityBusiness HighTier 1-2Business MediumTier 3-4Business LowOutside productionLowMediumHighTHREAT →HighMediumLowENVIRONMENT ↓PlanUrgentUrgentPlanPlanUrgentDeferDeferDeferPlanPlanUrgentPlanPlanPlanDeferDeferDeferPlanPlanPlanPlanPlanPlanDeferDeferDeferRows: environment impact·Columns: threat· Pick the business impact above

The misconfiguration is matched to the live cloud resource it builds, and ranked on what Heeler sees there.

INPUTS FROM THE CONTEXT ENGINEFIXED DECISION TABLE · NO WEIGHTSBusiness impactPICKS THE TABLETier 1-2, in productionHighTier 3-4, in productionMediumOutside productionPlan at mostEnvironment impactPICKS THE ROWWHAT HEELER CHECKSMatched live cloud resourceProbe, network config, S3 policySeen darkExposure declared in the IaCSuppressions, false positivesLive resource seen internet accessibleHighExposure declared in code onlyMediumSeen dark, unknown, or mitigatedLowThreatPICKS THE COLUMNWeakness on the CWE KEV Top 10HighCWE Top 25, CAPEC or OWASP Top 10MediumNo CWE dataRule severityBusiness HighTier 1-2Business MediumTier 3-4Business LowOutside productionLowMediumHighTHREAT →HighMediumLowENVIRONMENT ↓PlanUrgentUrgentPlanPlanUrgentDeferDeferDeferPlanPlanUrgentPlanPlanPlanDeferDeferDeferPlanPlanPlanPlanPlanPlanDeferDeferDeferRows: environment impact·Columns: threat· Pick the business impact above

An image is ranked by the workloads that run it: their tier, their environment, and whether they are internet accessible.

INPUTS FROM THE CONTEXT ENGINEFIXED DECISION TABLE · NO WEIGHTSBusiness impactPICKS THE TABLETier 1-2 workload, in productionHighTier 3-4 workload, in productionMediumRuns only outside productionLowEnvironment impactPICKS THE ROWWHAT HEELER CHECKSWorkloads running the imageInternet accessible workloadTier and environment of eachCVSS impactExposed workload, full controlHighExposed workload, limited damageMediumNo internet accessible workloadLowThreatPICKS THE COLUMNKnown exploited (KEV)HighEPSS 0.40 or higherMediumNo threat signalLowBusiness HighTier 1-2Business MediumTier 3-4Business LowOutside productionLowMediumHighTHREAT →HighMediumLowENVIRONMENT ↓PlanUrgentUrgentPlanPlanUrgentDeferDeferDeferPlanPlanUrgentPlanPlanPlanDeferDeferDeferDeferDeferDeferDeferDeferDeferDeferDeferDeferRows: environment impact·Columns: threat· Pick the business impact above

Heeler scans git and its full history, every branch and every commit. It discards fakes with an offline checksum check, then proves what is left with a safe, read-only live test. Each secret lands in an action bucket by what that test found.

BEFORE ANYTHING IS SORTED1 · Scan git and all its historyEvery branch and every commit, so asecret deleted later is still found.2 · Drop the fakes offlineBuilt-in token checksums verifiedwith no network call, nothing sent.3 · Prove it liveA read-only call to the provider,or a test connection for databases.Default branchElsewhere in gitUnknownEACH SECRET SHOWS WHERE IT LIVESSO NO CANDIDATE LEAVES YOUR ENVIRONMENTFabricated look-alikes never become findings.EVIDENCE ON EVERY FINDINGThe provider's response, field by field.ACTION BUCKETWHY IT LANDS THERERotate nowProven validHeeler tested it and the credential works. Rotate and revoke it now.RotatePresumed liveReal key material, like a private key, with no provider to test it against. Treated as live until rotated.TriageNo verdictNo test applies, or the provider's answer did not settle it. Review these by hand.SORTED BY DETECTION CONFIDENCEHigh→Medium→Lowhow sure Heeler is it is a real secretA secret with a missing or unknown status lands here too, never in No action.No actionConfirmed inactiveAlready rotated or revoked, or not valid key material. A rotated key moves here on its own.ExpectedCanary tokenA decoy you planted. Not tested, and not a leak.

Each agent file, skill and MCP config gets a 0 to 100 safety score from fixed arithmetic on what Heeler finds in it.

WHAT HEELER FINDS IN THE FILESAFETY SCORE · 0 TO 100 · SAME INPUTS, SAME SCORERule findingsSTATIC RULESCritical finding95 pointsHigh finding80 pointsLow confidencecounts lessAI reviewLLM JUDGEPrompt injection, data exfiltrationfoundDestructive or privileged actionsfoundMalicious verdict10 or lowerReachHOSTS AND SCRIPTSRemote script that runs on its own70 pointsPaste site, raw IP, plain HTTP40 pointsWell-known developer hosts0 pointsThe worst factor sets the riskThe other two add 15% of theirs, capped at 100.Score = 100 minus risk.070100AT RISK · BELOW 70SAFER
05 · Re-evaluated

Priorities follow your environment as it changes.

Flip what is true about one real CVE and watch the level move. Heeler does this on its own whenever your environment changes. No re-triage meeting.

Heeler Risk
Urgent
Fix within 14 days
Plan
Fix within 60 days
Defer
Track it, 120 days

Try it: turn off Internet accessible, or add a mitigation.

05 · Remediation at scale

Burn down the backlog with fixes engineers can trust.

Heeler sequences the whole backlog, exploitable first, and works through it for you. Every fix is calculated, proven in your CI and opened merge-ready, so engineers review instead of research and AppSec stops chasing tickets.

AGENTIC VALIDATION · SANDBOX, THEN YOUR CIAutotriageUrgent · Plan · Deferevery finding typeCalculate fixdeterministic · SCA · SASTSandbox buildremediation harnessPR openedwith detailed contextRepair loopCI · comments · botsMerge-readyall checks greenRepair on redpushes a fix commit · CI re-runsAgent memoriesread before each run, written back after1234writes backwhat it learned
1

Sequence the whole backlog

  • Exploitable first, then everything else
  • Every finding gets an SLO, nothing is skipped
  • Re-sequenced as your environment changes
  • Deadlines tracked and reminded for you
Autotriage →
2

Deterministic fixes

  • Never trades one CVE for another
  • No upgrade that breaks your build
  • Least disruptive, not the newest
  • One PR clears the package’s CVEs
SCA Auto-fix →
3

Proven by the fix agent

  • Never review a fix that won’t build
  • Builds the way your repo builds
  • Works behind private registries
  • Unproven fixes arrive as drafts
SAST Auto-fix →
4

Repair loop

  • Edits your code to clear failures
  • Developers comment; it revises
  • Takes feedback from review bots
  • Merge-ready when every check is green
05 · Auto-fix

Every fix arrives as a validated, merge-ready pull request.

Two steps, every time. Heeler calculates the fix deterministically, then its fix agent proves it in a sandbox and in your CI. No human in the loop until merge.

1
Deterministic fix
Heeler calculates the change. Not guessed, not the newest.
2
Agent validation
The fix agent builds it, runs your CI and repairs what breaks.
merge
Merge-ready PR
Every check green. A person reviews and merges.
SCA Auto-fix
Remediate Pillow 9.0.0
Autotriage
Urgent · fix now
Tier 1 · Production
Function reachable
Runtime library reachable
Internet accessible
Chaining: reaches PII datastore
Exploit threat: Confirmed
1
Deterministic fix
Upgrade to 12.3.0
  • check
    Calculated, not LLM reasoned
  • check
    Breaking changes identified
  • check
    Dependency graph compatible
  • check
    Clears every open CVE
  • check
    Optimal version, not newest
  • check
    No new CVEs
  • check
    Package age enforced
2
Agent validation
Merge-ready PR #519
  • check
    Built in a sandbox with your toolchain
  • check
    Your repo conventions applied
  • check
    First-party code updated for the upgrade
  • check
    CI: 2 failures repaired · 47 green
  • check
    Developer comment addressed
verified
Developer merges · 21 CVEs remediated
SAST Auto-fix
Remediate SQL injection in orders/query.py
Autotriage
Urgent · fix now
Tier 1 · Production
Entry point: HTTP handler
Internet accessible
No authentication
Touches PII
CWE-89 · CWE Top 25
1
Deterministic fix
Parameterize · effort low
  • check
    Decided at scan time, not LLM reasoned
  • check
    Traced source to sink, cross-file
  • check
    Strategy matched to the weakness
  • check
    F-string rewritten to a bound parameter
2
Agent validation
Merge-ready PR #612
  • check
    Built in a sandbox with your toolchain
  • check
    Adapted to the surrounding code
  • check
    CI: 1 failure repaired · 38 green
  • check
    Developer comment addressed
  • check
    Your conventions applied from memories
verified
Developer merges · SQL injection closed
05 · Four ways a fix starts

Start a fix from the app, a pull request, the CLI, your coding agent or a workflow.

In the app
PyYAML 5.3.1 → 6.0.1 
· 3 repos · 4 CVEs
Fix Now
lodash 4.17.20 → 4.17.21 
· 1 repo · 1 CVE
Fix Now

Fix Now, one or many

Launch the agent from any auto-fixable remediation, or select a batch. The scope shows before anything runs.

On the pull request
✗
 Heeler · Dependency Guardrail
PR #612
requests 2.25.1 adds CVE-2023-32681
Apply suggestion

Fix it where it fired

A guardrail flags the change on a developer’s PR and Heeler offers the fix there. One click, and the check flips to passing.

CLI or your agent
$ heelercli fix 30581,30590
Scheduled
schedule_heeler_remediation
MCP

Fix from the CLI or MCP

Run heelercli fix with remediation IDs, or let your coding agent schedule the fix over MCP. Same agent, same validation.

Automatically
New remediation available
→
Fix with Heeler Agent
→
Ticket assigned
PR opened

Fixing as policy

A workflow turns fixing into policy. A new fixable finding appears, the agent fixes it, the PR lands ready to review.

05 · Ownership and routing

Every fix goes to the team that owns it.

Autotriage decides how urgent it is. Heeler then walks the ownership you already keep, from a rule for one package down to the repository's team, and stops at the first real team. That team gets a ticket, a message and an Auto-fix pull request.

bug_reportSCA findingCVE-2022-22965spring-beans · checkoutAUTOTRIAGEUrgentfix within 14 daysWHO OWNS IT? THE MOST SPECIFIC ANSWER WINS1dependency_owners.jsonrule for this packageNO MATCH2dependency_owners.jsonrule for this manifestNO MATCH3CODEOWNERSlast matching path winsMATCH@payments-team4Module teamset on services/checkoutNOT NEEDED5Repository teamsynced from GitHub, GitLab or PortNOT NEEDEDgroupsPayments teamOwner, fromCODEOWNERSconfirmation_numberTicketPAY project in JiraforumMessage#payments-securitymergeAuto-fix PRvalidated in your CINo team at any levelSkip, or send to a fallbackreportA rule that names a team that no longer exists is skipped and flagged, and the walk goes on.Every level is ownership you already keep. Teams sync every four hours.
06 · Why not just use an LLM?

A model can suggest a fix. Heeler calculates and proves one.

An LLM agent reasons its way to a fix, differently each run, and re-sends its whole context at every step. Heeler calculates the fix deterministically, then uses AI to prove it builds and repair what breaks, without spending your tokens.

LLM agent alone
Reasons its way to a fix
  • tokens
    Reads manifests and lockfiles
  • tokens
    Searches advisories and the web
  • tokens
    Sees a fraction of the dependency graph
  • tokens
    Picks a version, differently each run
  • tokens
    Relearns your build every session
  • you
    Leaves build, CI and review to you

In the benchmark: 783 manifest reads, 849 greps, 1,985 web searches.

$7.16
model API per fix, blended SCA and SAST average, before your build, CI and review
Heeler Auto-fix
Computes the fix, then proves it
  • ✓
    Ranks it by real exposure
  • ✓
    Calculates the smallest upgrade across the full tree, transitive included
  • ✓
    Remembers your build and conventions from past runs
  • ✓
    Proves it builds in a sandbox
  • ✓
    Repairs CI until every check is green
  • ✓
    Every step recorded
$0
of your tokens. Included in the full platform.
Estimate it for your team

Benchmarks from published third-party agent research. Model API cost is $7.16 per fix, the blended SCA and SAST average, on the lower-priced of two frontier models at public pricing as of July 31, 2026, with 20% cached input and 35% agent overhead, and excludes infrastructure and labor.

07 · What you get

Built for the vulnpocalypse.

AI coding means more code, AI attackers mean less time, and together they add up to more findings than any team can work by hand. Every part of the platform answers one of the three.

smart_toy
AI coding
Agents write more code than people can review.
shield

Risk stops before it lands

Agents get your policy while they write, commits are checked before they exist, and every pull request is checked before merge.

MCP and Agent Skills
CLI
PR Guardrails
visibility

Agent work you can see and govern

Every agent file is scored from 0 to 100, changes to them are guarded, and the sensor shows what each session did.

Agent file scoring
Workstation Sensor
PR Guardrails
bolt
AI attackers
The gap between a new CVE and an attack keeps closing.
filter_list

The exploitable few, first

Each finding is ranked the moment it lands, from what runs, what it reaches and how critical the service is.

Context Engine
Autotriage
timer

Deadlines that hold, on the record

SLOs you set, reminders before they lapse, and every exception kept with a reason, an owner and an end date. SBOMs when you ask.

SLOs
Exceptions
SBOM
storm
The vulnpocalypse
More findings than any team can work by hand.
merge

Fixes ready to merge

Upgrade and code fixes arrive as pull requests, validated in your CI and repaired when the build fails.

SCA Auto-fix
SAST Auto-fix
groups

Every finding has an owner

Work goes to the right team, in its own tools, without a triage queue.

Ownership
Workflows
07 · Built as one system

It works end to end because it is built as one system.

hub

One model underneath

Code, cloud, agents, owners, business and threat intel in the Context Engine. Prevent, Fix and Operate all read it.

See the Context Engine →
balance

Deterministic, not guesses

Rankings, fix versions, guardrail results and owners are decided by rules, not by an LLM. AI writes and repairs code where it helps.

See how Autotriage decides →
conversion_path

Your tools, your teams

Work lands in each team's own tickets and channels, on the timeframes you set. Nothing to add to your pipelines.

See setup →
Heeler

Prevent it. Fix it.

At machine speed.