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
chutesB · 82si✓ bd✓ lv✓ mb✓ gpu✓ sc✓ fl·L511✓ 0✗2026-10-07 23:12 UTC
nearaiB · 82si⚠ bd✓ lv✓ mb✓ gpu✓ sc⚠ fl✓L5 / clean L027✓ 0✗2026-10-07 23:12 UTCmeasured_os-image-hash=da9a3d5cc196a1a7… compose_hash=fbc3d362670662d0…
phalaB · 80si✓ bd✓ lv✓ mb✓ gpu· sc⚠ fl·L4 / clean L310✓ 0✗2026-10-07 23:12 UTCkeyset_digest=ef8a03c0c5e34931… measured_os-image-hash=bd369a8c2f9edb2b…
redpillB · 82si✓ bd✓ lv✓ mb✓ gpu✓ sc✓ fl·L517✓ 0✗2026-10-07 23:13 UTC
tinfoilA · 85si✓ bd✓ lv✓ mb✓ gpu· sc✓ fl·L46✓ 0✗2026-10-07 23:13 UTCrelease_tag=v0.0.155
veniceF · 73si✓ bd✓ lv✓ mb✗ gpu✓ sc⚠ fl✓L214✓ 2✗2026-10-07 23: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
10-07 23:13redpillinfofact_changeinstance_set disappeared (was sha256:ca2eb8f7bb594befb28a482f7ca74e4b)
10-07 23:13redpillinfofact_changeinstance_id changed: 4ee660f1-6a24-4250-b4c2-a0815e25d8c2 → a00247d3-208c-4247-ba0d-40681831acbc
10-07 23:13redpillinfofact_changeinstance_count disappeared (was 4)
10-07 23:13redpillinfofact_changee2e_pubkey changed: gjXLkPuRy+ogHTltOCZqLJmQV9ir04k+1ioEuZWkHSWMX8tA14CaG4N1sscpDMuH9Mea/CIXx4qddcMRwUgReHiIjocDN8FK4HywIkRCLtpjPSk/8KiNEBUgmiGgYKHAXdHD5FdpSdQevaGoccbBfBkbYHZsKphZPTBGHRRCQYaM/tIBdGcsOJlae1CB/nxKTNGjCMoSDMnIsbQb6LBA1YZEt3i7LUS6rXyZR1KeOiAcEkGwa+V6mayHTnSQRuIlyra8cLB6FTN9Y1WyhFxCKIYveYO2rRU1sDeRAzjM0jagX0ZY38WC1nY7mmKYJSmnpFW7mKlKbBQIp6CjHMt06xBud+stwXmH+erOUtSyxBwIfKhamhWjdAEebdarWxSnTeatzBCXyDEiGFw0gqPJUJgg99fCrgYqeHsMcjEg5WQ1iBdVWcE15uE/UxzIejxgv8ta+6Q4O7FmrjSZXqoSzUoDhVMUWmQXhAV9s7W5KMELQxkPfowa68YspUpmA0x1e/vGCOgQAC0ZX0hKUjGHxKJNawo7FIoU6LypxNm0uaIboCDOoME5uXChCvC/qKeBjzgsDpoywUhavpQ+AMdEzPNdaLpiy+JZceR7UPnLoFckJWRmZwvH80nAeehQXHiX5GdgH9lPgoVXDOZV5sVAqEsoWMSpegbH2gbFZqpDgjGNkXIB45C64CYTMleSB9MwJ8CrmGIw89WQpihuoiQ3BaRoYDVzoLeaibPMejJWsoBLHrYJcWV8q3YqBXoRB6GZ6rNsyrPBofaK79akWFJ8jeWvjVgK45uY8MEeyMG4TNXIkChN53CtVvoYZ/Nz9/gF3fIJbZZVflI4BLGnMJsMZXtnjoQiEAWMVmiFcaweWgeSdHWXFqJNwWikMtVOBSyWV/RBnyCYJkURlqOeh5GCpdh4rjy+frcLkFyH2SgLWyqEkSWhJTwbSkQKcXVX8JQsSVc4FcAaikUz6ckAIxV1Uns656y8EoBIInOPUgYcROuzaxO4udcFvWge4FE1PBl68WxECHDKeVMqlsVxUIOQsGipYVdcXvwHCAmKZAodrbKOPcKxaylfAFqQzWOJ77pt0ApDnZRRArAcTGXM6XqGxAg8iFBY7puuE+o4pxY98rghJIB+Q5mxZVWwUGp1QbUhMvEsdQmaL9W63qPP8uNf3LHBh6FstSEOq/kjVfukphG2EyINN5N9ZDx7PqOBh2q3flWD+6sV+JB4PlbMD0pHL4SVW0Iok/k83mooVZor9jg46mW2bgnD9GMXfilDouxDlfYRUrXNjdZfNrQXkjm2yww5GFym1PGGVEY7N0xRMlOt34kqqFmyMkt/0MyJfwADL2lO4ag2D5tmdHQB/8ay+UdF2jkrb4W+uluR48SEV/eDqpucwrOA/RaWWnaQgYVSKzE6HnYHokd9R5WfQVAsXkw/B1E10+cGApJC9Wia3Vs4ATBdyMp6ersg2QE2RdYjDZyuS9AtEvUn90iV2vgbOTcIgEtSPNrCxFA8R5t0nXMbEjuG5UQY8KKsLFSA7qSSQKM0zs3ClEn6t3lCAX5j9yX3Oo8kNxrmW5jvVDmQm/k= → noYyTjNJaNC46ChvYfmWyel9XuEQOPROjCBPomm+DvdsdiYnazh3G0HNqBV3gwhl1cUqB3JJluVLRFdkB0qf0lRDxpYg3lIzW3hrGTsBmYd/AMecgTK9tGRVUrmoAJZpKuIkkyvOEdqwQjh+TNFyJgG5Swqs2fmG3SmaZ8mRzOhjYhirU0ap7VC/DMpReuUJUrqjjTsed2GbYSNvuEM6aAyvs2V7LjxcxdG3J8XF6rmKEMTLo2wCwkRoFByhJEV+XopXM2iF2OyiR7eefiphbiqWtadeclgkJ0GGxDqPEcJS7LEpScZoiOAZJHIb5PaOFkbEF2WptXpqKvgqZ+C1ntrDO+sT7hET0vsWDFRTvxK+n9ZCwYiiQCFZGgmsvKs5rPNiKlUra3YBpbVwhIay0Jy8WZXKyoivtzYvoye7fJcMALq6WXcsEkfMcliw8at4p6zBECtoutrF5cwiw5GNOmzKh/S80ZSXv6EDiMm7ZOVQychO5mNHD2iEPeuLQMqCU/K4a2dY6HfKBUybSUiOaYw20dbE5QKwIJGUhAq/ViFHhCSQOdCoqIFAAsBI2DSwWmgXmudkxoZfHQCc16svGOIX3qchLSQq0Di3ZYAM94i9lddm44y0ZZXJAlsrzOpRfVvKUFl3EKGtrktUEUijpDnEy4qpmwcbi2pO9xRSA6AAiRdMuil/psl1sYCoIaQQ6xNunidsnhAg0ZAXbHqdlyxWFCqPU+BXyJYZKgQFfYS6g/DJidOyIUJstlsU/7yxChuoLPWJJaVSVbu1RaO30ihEsNt1tMYFxtMaWzkldoODLccHWbMvQADNuHoxMyvHF2iXs5eRSYIxP0gPmHgdyYkJfCBn9rsb+jUWzbs000kWdQg/hnO+ilVwkYQ4NhNtUVa1SIIe/XSrASFPW4KgUvGKdGlra6UJ65RtAOa4FFMBfxsOw6sLTgA3FRXPTvmohmHGFTtzLAS3ZKUmOCqQrFMStmx6gFd/gdqwWmuThFZPr/gREQwFWdk9dMSavfHBp1KDwbZaf9t3AmmT7xekpeeGGYaMDQW9U0gsAdNfu/PHLBejbpUSAmUQNQpMSCtGWxtzMXNvqhxPS7tqFoGsPgKL24C4k2epGmpGrsuGhQxNLhiaKAOWmbhfOioXsoO9OdwVAsNkEyxgqYQm5sAjtIiAL7a11/MFu9xMJRllrhJXXAZa40Q3pScGeGEth3mxgnvNKWw8RjQcmEWZ7EtmFUTO5mMVZJcFxRG6z7MOcBitTOaTl9k/+lyZzDYQ2aWmtPNh+3Vk4FpgG3lrlIiHaTN5WQOVt8hBrIsPyuQS5SKBVqlxNPdz2mx2NQMd04m3nCtsKoOUQyOIjiki6blECoEAWxNcQWhwu5EI5wqSHhwOhNXOcslvlpGYOLl1LkWgBKVRa5DGgxPFtbBxD5XBdxcLkrNhbFSYFlGbKxYDcpzJPWSsd7SUauwXCoSY7eM3giCRtzNE39szF0A6ILyGBKBu9xlj2MU1+1jD1qFYgobDwbeLE8nKKcQlzmqjiamXW+5hN5H0f4RO6P/E2laS04gb6Ud3h/hGJw8wIezc3H0=
10-07 23:13redpillminorcoverage_changepoints 85 → 82
10-07 23:13redpillminorgrade_transitiongrade A → B (note:fleet_single_unit)
10-07 23:12nearaiinfofact_changeinstance_id changed: 4ee660f1-6a24-4250-b4c2-a0815e25d8c2 → a00247d3-208c-4247-ba0d-40681831acbc
10-07 23:12nearaiinfofact_changemeasurement_config changed: 8xh200 [10.1.0] v1.3.1 → 8xh200 [10.2.1] v1.3.1
10-07 23:12nearaiinfofact_changemr_aggregated changed: c8aa46a6e62e1af337995a2832bb12c5edda477be5a4e2edd5c0af3a2e0d6eb9 → c60430caf11b080c653c018a281a2b6289bc769350a0bf4ef5324154479fe4be
10-07 23:12chutesinfofact_changeinstance_set disappeared (was sha256:7c118b70086ca239fc5da781e183edbc)
10-07 23:12chutesminorcoverage_changepoints 85 → 82
10-07 23:12chutesminorgrade_transitiongrade A → B (note:fleet_single_unit)
10-07 23:12chutesinfofact_changeinstance_count disappeared (was 4)
10-07 22:13redpillminorcoverage_changepoints 86 → 85
10-07 22:13redpillinfofact_changeinstance_count changed: 5 → 4
10-07 22:13redpillinfofact_changeinstance_set changed: sha256:dd358201706f10d12b4b8c7ad9aafe0b → sha256:ca2eb8f7bb594befb28a482f7ca74e4b
10-07 22:13nearaiinfofact_changeinstance_id changed: a00247d3-208c-4247-ba0d-40681831acbc → 4ee660f1-6a24-4250-b4c2-a0815e25d8c2
10-07 22:13nearaiinfofact_changemeasurement_config changed: 8xh200 [10.2.1] v1.3.1 → 8xh200 [10.1.0] v1.3.1
10-07 22:13chutesminorcoverage_changepoints 86 → 85
10-07 22:13chutesinfofact_changeinstance_count changed: 5 → 4

default history

providergradeworstdowngradesincidentsunresolvedreported loss
chutesBF2213213—
nearaiBF310771077—
phalaBB01616—
redpillBF5595595—
tinfoilAB11717—
veniceFF310751075—

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-10-08T00:01:18Z