Review and act

How audits work

What happens during a Veriom audit, which scanners run, what each AI agent role does, and why an audit can finish with gaps.

This page is for anyone who wants to understand where Veriom's results come from. An audit reads one repository at one commit, runs security scanners, and asks a team of AI agents to review the evidence. It produces findings, a map of your architecture, and a report.

What starts an audit

TriggerWhen
First auditWhen you connect a repository or upload a ZIP
PushEach push or merged pull request on the default branch
ScheduleWeekly, Monday at 09:00 UTC, unless you change it
Pull request checkEach pull request, if you turn it on. See Run Veriom in CI
By handAudits → Start audit
CI or MCPThe architecture-check action, or the start_audit tool

Veriom sets up the first audit, the push trigger, and the weekly schedule for you. See Autopilot and autonomy.

Full or Architecture assessment

When you start an audit, choose what it runs. Full assessment is selected first.

AssessmentWhat it runsUse it when
Full assessmentEverything in the Architecture assessment, plus the dependency vulnerability, secret, code pattern and configuration checks below, mapped onto your architectureYou want your architecture and its security findings. This is the default
Architecture assessmentA partial assessment: the architecture model, structural checks, style detection and threat scenarios. No vulnerability checksYou only want the map and its structural risks, for example to share a diagram with your team

A Full assessment also stands for an Architecture assessment, so a trigger never starts an Architecture assessment of a commit that already had a Full one. Results unchanged since an earlier audit are reused, so a repeat assessment uses fewer processing units.

Schedules and push triggers each name their assessment. Autopilot's push trigger runs an Architecture assessment and its weekly schedule a Full assessment. In the API, assessment_type is security for a Full assessment and architecture for an Architecture assessment; a request that names none runs a Full assessment, as does the architecture-check action and the MCP start_audit tool.

One source has one active audit at a time. A second request for the same source gets 409 source_audit_already_active.

The five stages

StageWhat happens
IngestionVeriom fetches the code at the chosen commit. Git hooks, submodules, and Git LFS files are not fetched
ScanningSecurity scanners run on the code. See the list below
Context EngineVeriom gathers what it knows about the system: code, scanner results, connected tools, cloud inventory, and earlier audits
AnalysisA team of AI agents reviews the evidence. See the roles below
ReportingVeriom writes the report and runs your release checks

If Ingestion or Reporting fails, the audit fails. If a scanner fails, the audit continues without that scanner's results and finishes with gaps.

Scanners

Every Full assessment runs these checks in Veriom's runner, from pinned open-source scanner images built to work offline. An Architecture assessment runs none of them. Veriom names each check by what it looks for.

CheckWhat it looks for
Code pattern analysisInsecure code patterns
Secret detectionSecrets committed to the repository. Matches are stored redacted
Dependency vulnerability checkVulnerable dependencies, from several advisory databases including OSV
SBOM inventoryA list of every package (an SBOM)
IaC misconfiguration checkInfrastructure-as-code misconfigurations
Policy-as-code checkPolicy checks on configuration files
Container build checkDockerfile problems
CI workflow analysisGitHub Actions workflow problems

The agent team

Sixteen AI agent roles review each audit. Some always run. Others run only when the code shows they are needed.

RoleWhat it doesRuns
Audit CoordinatorPlans the audit and sets each specialist's questionsAlways
Context CuratorPacks the relevant facts into a bounded context for the other agentsAlways
Security EngineerReads scanner and code evidence along paths an attacker can reachAlways
Security AuditorHunts for trust-boundary failures, one attack class at a timeAlways
Security ArchitectChecks trust boundaries, exposure, isolation, and blast radiusAlways
Cloud and IaC AnalystReconciles cloud, Kubernetes, and infrastructure-as-code evidenceWhen the code has cloud, IaC, or Kubernetes files
CI/CD AnalystReviews build, deploy, and credential flowsWhen the code has CI/CD configuration
Compliance Control AnalystMaps evidence to control questions. It does not certify complianceAlways
Architecture Diagnostic AnalystFinds coverage gaps, contradictions, and stale factsAlways
Architecture History AnalystExplains what changed since earlier auditsWhen earlier audits exist
Threat ModelerWrites STRIDE threats tied to real assets and pathsAlways
Remediation EngineerProposes bounded fixes for confirmed findingsWhen there are findings
Evidence VerifierRejects claims without evidence and confidence that is too highAlways
Finding Impact AdjudicatorDecides whether each scanner result affects the architectureWhen there are findings
Diagram ArchitectDraws the architecture diagramsAlways
Report SynthesizerWrites the final judgment from verified workAlways

The Security Auditor

The Security Auditor looks for places where a trust boundary fails, such as missing authorization, data leaking between tenants, or unsafe AI agent tools. For each problem it reports one of:

  • a confirmed risk, with evidence;
  • a hypothesis that needs a person to validate it;
  • nothing, when the evidence rules the problem out.

The Evidence Verifier checks the auditor's work before it reaches the report. The auditor can search code and read evidence, findings, and architecture facts. It never runs your code.

Why an audit finishes "Done, with gaps"

Done, with gaps means the audit finished but some evidence is missing. The results are still usable. Common causes:

  • a scanner failed;
  • the agent team did not run;
  • the workspace ran out of processing units. The audit records the gap "Processing units ran out before the architecture analysis finished."

Open the audit from Audits to see which stage has gaps.

The Audits page

TabWhat it shows
RunsThe audit running now or the latest one, its steps, any other active runs, and each repository with its latest run
HistoryEvery past run, filtered by source and sorted by date. Click a run to open it
RemediationsEach fix from proposal to pull request and verified resolution. See Ask Veriom to fix it
Schedules, Changes, BranchesContinuous audits, architecture changes between revisions, and branch comparisons

Each run shows its high-level steps. Its detailed activity log and agent artifacts are kept for compliance reviews and third-party auditors, collapsed under the steps: click Show activity log to open them.

Watch audits live

Click the activity button in the header to open the Activity panel. It shows:

  • Running now: each live audit, its stage, and its agents;
  • Queue: work waiting for scanners, reports, pull requests, collections, or agents;
  • Recent: what finished. Turn on Automation only to see what Veriom did on its own.

Ask Veriom

Click Ask Veriom in the header to ask a question about your architecture, findings, and evidence. Answers are grounded in this workspace's audits and cite their evidence. The Priorities tab lists the most important things to work on next.

Was this guide useful?

Your response stays in this browser unless you open a GitHub issue.
View source