chopmark — independent TEE scorecard

Six inference providers, graded on what they can actually prove about the machines serving your requests. A grade measures coverage of a proof surface: a vendor-rooted quote answering a live challenge, the endpoint bound into that quote, the boot measured, the release pinned, the GPU attested. Only independently verified checks earn points. Provider claims set expectations and never score.

Evidence is checked against vendor roots of trust — TDX quotes against Intel PCS, SEV-SNP against AMD KDS, GPU evidence against NVIDIA NRAS, supply-chain bundles against Sigstore. Every response is signed, and every grade is reproducible: chopmark verify <provider> runs the same checks this page does.

Questions, corrections, or a provider you want covered: disputes@chopmark.dev

providers

providergradecoveragelevelcheckslast verifiedidentity anchors
chutesA · 86si✓ bd✓ lv✓ mb✓ gpu✓ sc✓ fl✓L555✓ 0✗2026-09-21 18:12 UTCinstance_count=5
nearaiB · 82si⚠ bd✓ lv✓ mb✓ gpu✓ sc⚠ fl✓L5 / clean L028✓ 0✗2026-09-21 18:12 UTCmeasured_os-image-hash=da9a3d5cc196a1a7… compose_hash=7e11ac339aab9d18…
phalaB · 80si✓ bd✓ lv✓ mb✓ gpu· sc⚠ fl·L4 / clean L310✓ 0✗2026-09-21 18:12 UTCkeyset_digest=ef8a03c0c5e34931… measured_os-image-hash=bd369a8c2f9edb2b…
redpillA · 86si✓ bd✓ lv✓ mb✓ gpu✓ sc✓ fl✓L585✓ 0✗2026-09-21 18:13 UTCinstance_count=5
tinfoilA · 85si✓ bd✓ lv✓ mb✓ gpu· sc✓ fl·L46✓ 0✗2026-09-21 18:13 UTCrelease_tag=v0.0.150
veniceF · 73si✓ bd✓ lv✓ mb✗ gpu✓ sc⚠ fl✓L214✓ 2✗2026-09-21 18:13 UTCmeasured_os-image-hash=a6eafc5f007f642d… compose_hash=c82b1a2eaf699615…

coverage: si silicon_root · bd endpoint_binding · lv liveness · mb measured_boot · gpu · sc supply_chain · fl fleet — ✓ proven ⚠ warned ✗ expected but absent · not applicable. Points are earned only by independently verified checks; claims never score.

level: L1 challenge · L2 bound · L3 measured · L4 reproducible · L5 full. The first number is how far the proof reaches; a second number is how far it reaches with no warnings at all. A caveated root of trust leaves no clean rung, so "L5 / clean L0" means full scope and nothing unqualified.

incidents

whenproviderseveritykinddetail
09-21 18:12nearaiinfofact_changeinstance_id changed: 95638958-d714-4ea1-b250-11c2643cc2c6 → 2cfe6427-2347-4095-ac44-585c16117344
09-21 17:13veniceinfofact_changemr_aggregated changed: 2afe299caa25e667948f92fc2d440cd2fcba1fcf0ab7a6f56643972687ced4aa → 34255d6a2d970cacce85137e41cdc8435e556b7c140420c411b95f7cbb58cfc6
09-21 17:13veniceinfofact_changemeasured_compose-hash changed: 945bcfade2aec53a19da7638774a99caea11395ec03e572a13357a0c63b152b4 → c82b1a2eaf6996154a5f39ae621643f034b082d5e51edd3d2ba6009273881d86
09-21 17:13veniceinfofact_changeinstance_id changed: cc796618bcd5a6b22907d8de7ac414a968d6a1aa → 7bb9af0ac5b0e22dde3903218f58e56f743164a1
09-21 17:13veniceinfofact_changecompose_hash changed: 945bcfade2aec53a19da7638774a99caea11395ec03e572a13357a0c63b152b4 → c82b1a2eaf6996154a5f39ae621643f034b082d5e51edd3d2ba6009273881d86
09-21 16:13veniceinfofact_changemr_aggregated changed: 8a4aafea4e6b3ffd055af09754ccbd53ff0548b1b6da89994efe8ec026dfb7d2 → 2afe299caa25e667948f92fc2d440cd2fcba1fcf0ab7a6f56643972687ced4aa
09-21 16:13veniceinfofact_changemeasured_compose-hash changed: 55db164f4f8c6a837c2217c601c21bba4758f908536a6cd5b2978550205a9179 → 945bcfade2aec53a19da7638774a99caea11395ec03e572a13357a0c63b152b4
09-21 16:13veniceinfofact_changeinstance_id changed: 19aea1693533dc2d529db03e3f725f20bde8d66d → cc796618bcd5a6b22907d8de7ac414a968d6a1aa
09-21 16:13veniceinfofact_changecompose_hash changed: 55db164f4f8c6a837c2217c601c21bba4758f908536a6cd5b2978550205a9179 → 945bcfade2aec53a19da7638774a99caea11395ec03e572a13357a0c63b152b4
09-21 16:13redpillinfofact_changeinstance_set changed: sha256:31547cb9b0f5d0d1909a342922e35c71 → sha256:dd358201706f10d12b4b8c7ad9aafe0b
09-21 16:13redpillinfofact_changeinstance_count changed: 7 → 5
09-21 16:13redpillminorcoverage_changepoints 87 → 86
09-21 16:12nearaiinfofact_changemeasurement_config changed: 8xh200 [10.2.1] v1.3.1 → 8xh200 [10.1.0] v1.3.1
09-21 16:12nearaiminorcoverage_changepoints 72 → 82
09-21 16:12nearaiinfograde_transitiongrade F → B (warn:chutes_verification: integrity token 7e55c987… present on the served response — cllmv HMAC keyed by a validator-held session key; not third-party verifiable, so no serving proof is claimed; warn:manifest_audit: warning: audit findings: service "dstack-vpc-client" uses host network; service "dstack-service-mesh" runs privileged; service "dstack-service-mesh" mounts docker.sock — container control surface; service "datadog-agent" mounts docker.sock — container control surface; service "otelcol-contrib" mounts docker.sock — container control surface; service "otelcol-contrib" mounts host /; warn:release_pinned: warning: measured image da9a3d5cc196 is not a vendor-published release; warn:tdx_quote: verified with warning: TDX TCB info reported by Intel PCS failed TCB status check: TCB Status is not "UpToDate", found "OutOfDate")
09-21 16:12nearaiinfofact_changeinstance_id changed: 42c34891-d155-4306-850c-98c876e0881b → 95638958-d714-4ea1-b250-11c2643cc2c6
09-21 16:12chutesminorcoverage_changepoints 87 → 86
09-21 16:12chutesinfofact_changeinstance_count changed: 7 → 5
09-21 16:12chutesinfofact_changeinstance_set changed: sha256:08bbd93f49c9106ec400b40a955b3009 → sha256:7164bec8e69585ad6791c9c73e52480f
09-21 15:14veniceinfofact_changecompose_hash changed: 945bcfade2aec53a19da7638774a99caea11395ec03e572a13357a0c63b152b4 → 55db164f4f8c6a837c2217c601c21bba4758f908536a6cd5b2978550205a9179

default history

providergradeworstdowngradesincidentsunresolvedreported loss
chutesAF17575
nearaiBF2424424
phalaBB01616
redpillAC3200200
tinfoilAB177
veniceFF3174174

A rating is only as good as its record of failures. An unreachable sweep never counts as a downgrade or a worst grade. GET /defaults serves this signed.

quality labels

task setmodelresultjudgeendpoint integrity
judged@1.0.0e2ee-deepseek-v4-flash6 pass · 0 failmodel:deepseek-ai/DeepSeek-V3.2-TEE@1 (A 87 L5/clean L5)B 73 L5/clean L0
instruction@1.0.0e2ee-deepseek-v4-flash7 pass · 0 failexact-match@1B 73 L5/clean L0
formatting@1.0.0e2ee-deepseek-v4-flash6 pass · 0 failjson-has@1B 73 L5/clean L0
classification@1.0.0e2ee-deepseek-v4-flash6 pass · 1 failone-of@1B 73 L5/clean L0
extraction@1.0.0e2ee-deepseek-v4-flash7 pass · 0 failexact-match@1B 73 L5/clean L0
reasoning@1.0.0e2ee-deepseek-v4-flash9 pass · 0 failexact-match@1B 73 L5/clean L0

Each set is signed and carries a verifiable reference to the scorecard's verdict on the endpoint that produced the outputs, so one artifact answers what was served, whether it was any good, and what machine served it. A judge id beginning model: is a model verdict carrying the judge's own attested standing. GET /labels streams the archive.

verify these claims

GET /scores · GET /score?provider=X · GET /provider?provider=X · GET /grade?provider=X&at=T · GET /allow?provider=X&min_grade=B · GET /allows?providers=X,Y · GET /spec · GET /defaults · GET /incidents · GET /evidence · GET /labels · GET /pubkey — all responses signed ed25519/JCS.

signer pubkey: d0488b99f10d265b78ad40cc22fed544dce45c4668a4468b947692dee0f31314

generated 2026-09-21T18:40:42Z