State of Local AI Audit — 2026 H1

Historical report (SIGIL 0.1 semantics). Produced by SIGIL 0.1.0 with the API probe on. PASS did not consider coverage then. Not comparable with v2 results; not re-evaluated. See reports/2026-h1/README.md.

Published 2026-06-07. A 5-model sample of the Ollama public registry, audited with SIGIL 0.1.0. We report license layer presence, SPDX detection, manifest integrity, and verdict distribution — derived deterministically from each model's on-disk evidence, with no LLM in the verdict path.

Aggregate PASS verdict for the 2026 H1 sample: all five models (gemma3:4b, llama3.2:3b, mistral:7b, phi3:mini, qwen2.5:7b) PASS. 5 Ollama tags audited: 5 / 5 PASS; 100% layer presence · 60% SPDX; 5 / 5 manifest digests matched.

Headline numbers

Four numbers a compliance reviewer can quote. The raw per-model AI-BOM JSONs are linked below so the figures can be re-aggregated independently.

MeasureValueWhat it counts
Sample size5Ollama tags, see Methodology
License layer presence100 %5/5 models shipping a license layer
SPDX detection rate60 %3/5 license layers matched to an SPDX id
Manifest integrity5 / 5models where every blob SHA-256 matched the manifest digest

License analysis

License-layer states partition into three buckets: absent, present but not matched to an SPDX family, and present + matched.

License layer stateCountShare of sample
Present, SPDX detected360 %
Present, SPDX undetected240 %
Absent00 %

SPDX family distribution

For the models with a license layer matched to an SPDX shortname, the family distribution.

SPDX idCountModels
Apache-2.02mistral:7b, qwen2.5:7b
MIT1phi3:mini

Verdict and findings

Each model's AI-BOM carries a deterministic PASS / WARN / FAIL verdict aggregated from analyzer-emitted finding severities. The distribution across the sample is reported as-is.

VerdictCount
PASScount: 5
WARNcount: 0
FAILcount: 0

Total findings: 0. Models with at least one finding: 0.

Runtime exposure

Reported as the default Ollama install on the audit workstation — the host was not specially configured. This is the as-shipped picture, not a hardened deployment.

Per-model index

One row per scanned model. The per-model AI-BOM JSON is the authoritative source for everything above.

ModelVerdictLicenseLayer countModel bytesFindings
gemma3:4bPASSpresent, SPDX undetected53.34 GB0
llama3.2:3bPASSpresent, SPDX undetected62.02 GB0
mistral:7bPASSApache-2.054.37 GB0
phi3:miniPASSMIT52.18 GB0
qwen2.5:7bPASSApache-2.054.68 GB0

Methodology

Five Ollama tags were chosen by license diversity rather than by popularity ranking: Gemma + Llama for vendor-custom community licenses; Qwen + Mistral for Apache-2.0; Phi for MIT.

How it was produced

The runner and aggregator are checked in, next to the data. The model list is a plain text file with one Ollama tag per line. They use the SIGIL 0.1 CLI, so they run only at the commit the report was produced with:

git clone https://github.com/ultra-supara/SIGIL && cd SIGIL
git checkout b30d0a2                     # SIGIL 0.1, as this report was produced
sudo apt-get install -y clang jq         # Linux
# Edit scripts/audit-models.txt if you want a different sample.
./scripts/audit-run.sh                   # pulls + runs sigil on each model
./scripts/audit-aggregate.sh             # writes reports/2026-h1/summary.json

Sources and raw data

Per-model AI-BOM JSONs are the authoritative source for everything in this report.