New
Apps 937Makers 936This week 937
Promote your app−30%
Council of AI screenshot 1
0views in
the last 30 days

CSOAI — Council of AI

Check a supported signed measurement card free at councilof.ai/gspc-verify. Try one historical sample and return your result. Machine-readable catalogue: councilof.ai/catalog.json.

CSOAI — Council of AI — is the public measurement service operated by CSOAI Ltd, a company incorporated in England and Wales on 2 January 2026 (Companies House 16939677), founded by Nicholas Templeman. We run AI systems and digital rails against published instruments, grade deterministically where the method permits it, publish signed evidence and corrections, and keep unmeasured or uncheckable states visible. Verification is free. We measure; we do not certify, accredit, issue legal-compliance determinations, sell a rank, or take money from anything we rank.

How to read the board: measurement coverage and model-ranking separation are different determinations. TIE means the evidence does not justify a hierarchy; UNTESTED means no separation test is published yet; deterministic-fact axes have no model leader by design.

23 axes measured · 14 model comparisons: 0 separated · 7 TIE · 7 UNTESTED · 9 fact runs · TIE is TIE · not a certificate.

23 axes measured · 14 model comparisons: 0 separated · 7 TIE · 7 UNTESTED · 9 fact runs · TIE is TIE · not a certificate.

Independent AI-governance measurement. This repository is the live site, API and signing pipeline behind councilof.ai: the 33-axis GSPC board, Ed25519-signed measurement cards, the signed Merkle public root and its transparency-log witness, the corrections ledger, the A2A agent card, the x402 manifest, and the PyPI / npm readers. Measurement, not certification.

derived 2026-10-28T16:22:03Z by scripts/github/org-readme.py — every number on this page is read live from the URLs in that script; if this page and the API disagree, the API is right.

The board today

GET https://councilof.ai/api/gspc — schema csoai.gspc-axes/0.5 · totals.public_count = 33 axes · 23 measured

# axis family kind n status separation leader carried?
1 governance gspc model-comparison 237 MEASURED TIE yes — accuracy 0.5865
2 safety gspc model-comparison 36 MEASURED TIE yes — accuracy 0.9444
3 provenance gspc model-comparison 32 MEASURED TIE yes — accuracy 0.7188
4 continuity gspc model-comparison 33 MEASURED TIE yes — accuracy 0.6061
5 conformance gspc model-comparison 35 MEASURED TIE yes — accuracy 0.7143
6 openness gspc model-comparison 32 MEASURED TIE yes — accuracy 0.8438
7 machinery-conformity gspc model-comparison 33 MEASURED UNTESTED no — no signed card
8 care gspc model-comparison 199 MEASURED TIE yes — accuracy 0.405
9 cross-reality gspc model-comparison 32 MEASURED UNTESTED no — no signed card
10 detector-interop gspc model-comparison 33 MEASURED UNTESTED no — no signed card
11 art5-safeguard gspc model-comparison 36 MEASURED UNTESTED no — own model led, excluded
12 swarm gspc model-comparison 37 MEASURED UNTESTED yes — accuracy 0.4444
13 affect gspc model-comparison 41 MEASURED UNTESTED no — own model led, excluded
14 jail gspc model-comparison 71 MEASURED UNTESTED yes — accuracy 0.5915
15 effect-binding gspc deterministic-facts 261 MEASURED — no leader by design (facts run)
16 provenance-controls financial deterministic-facts 6 MEASURED — no leader by design (facts run)
17 reserve-attestation financial deterministic-facts 16 MEASURED — no leader by design (facts run)
18 regulatory-framework financial deterministic-facts 16 MEASURED — no leader by design (facts run)
19 distribution-integrity financial deterministic-facts 16 MEASURED — no leader by design (facts run)
20 custody-disclosure financial deterministic-facts 16 MEASURED — no leader by design (facts run)
21 ai-adoption-components financial deterministic-facts 2 MEASURED — no leader by design (facts run)
22 labour-components financial deterministic-facts 2 MEASURED — no leader by design (facts run)
23 humanoid-labour-index financial deterministic-facts 8 MEASURED — no leader by design (facts run)
24 lab-practice subject declared-slot 0 UNMEASURED — —
25 company-practice subject declared-slot 0 UNMEASURED — —
26 measurer-integrity subject declared-slot 0 UNMEASURED — —
27 harness-fidelity subject declared-slot 0 UNMEASURED — —
28 interop-conformance subject declared-slot 0 UNMEASURED — —
29 humanoid-deployment subject declared-slot 0 UNMEASURED — —
30 regulator-transparency subject declared-slot 0 UNMEASURED — —
31 interpretability-reproducibility subject declared-slot 0 UNMEASURED — —
32 claim-maintenance subject declared-slot 0 UNMEASURED — —
33 serving-fidelity subject declared-slot 0 UNMEASURED — —

Counted from the axes array at derive time: 33 rows — MEASURED 23, UNMEASURED 10 — agrees with totals.axes. Separation over the 14 model-comparison axes: SEPARATED 0 · TIE 7 · UNTESTED 7. A TIE is not a win; UNTESTED is not a win; a facts run has no leader. Living stamp: SIGNED (did:web:csoai.org#board-attestation-1). Board data: CC-BY-4.0.

What a stranger can verify in four curls

# 1. the lid — the one sentence the board is allowed to say about itself
curl -s https://councilof.ai/api/gspc | python3 -c 'import sys,json; print(json.load(sys.stdin)["totals"]["lid"])'

# 2. the signed public root — Merkle root, leaf count, timestamp (card_count MUST equal len(card_sha256))
curl -s https://councilof.ai/root.json | python3 -c 'import sys,json; r=json.load(sys.stdin); print(r["merkle_root"], r["card_count"], len(r["card_sha256"]), r["as_of"])'

# 3. pin the card key from the DID document — never trust the key a card ships with
curl -s https://csoai.org/.well-known/did.json | python3 -c 'import sys,json,base64; k=[v for v in json.load(sys.stdin)["verificationMethod"] if v["id"].endswith("#card-attestation-1")][0]["publicKeyJwk"]["x"]; print(base64.urlsafe_b64decode(k+"="*(-len(k)%4)).hex())'

# 4. verify any card against that pinned key — three states only: VALID · INVALID · UNCHECKABLE
pipx run --spec 'csoai-gspc[verify]' csoai-gspc verify "$(curl -s https://councilof.ai/signed/card_index.json | python3 -c 'import sys,json; print(json.load(sys.stdin)["cards"][0]["card"])')"

The integrity stack

layer live now where
1 · Ed25519-signed measurement cards 335 cards (n_cards == n_cells: True), one key d4cb0eaa… = did:web:csoai.org#card-attestation-1 /signed/card_index.json · how to verify
2 · Signed Merkle public root csoai.public-root/v1 · root a2620ac322c5… · 325 leaves (card_count == len(card_sha256): True) · as_of 2026-10-27T21:20:49Z · signed: True /root.json · how to verify the root
3 · Transparency-log witness Rekor WITNESSED · OpenTimestamps CONFIRMED_BITCOIN · EAS NOT_YET · witnessed root a2620ac322c5… equals live root.json at derive time: True · pointer's own last drift check DRIFTED at 2026-10-27T23:47:33Z · conflict NONE /interop/root-witness-pointer.json · sidecar
4 · Corrections ledger 93 entries · latest C-2026-1006-13 (2026-10-06) · signature_state VALID · CC-BY-4.0 /api/corrections
Living board stamp SIGNED under did:web:csoai.org#board-attestation-1 /api/gspc → measured_on.living_stamp
Third-party Hub cells 438 cells: MEASURED 438 · UNMEASURED 0 · complete read: True (as_of 2026-10-28T16:21:58.669Z — re-GET /api/hub-cards → .counts; never freeze) /api/hub-cards
Keys (DID) did:web:csoai.org · 7 verification methods · card key x=1MsOqhbV9Q… /.well-known/did.json
A2A agent card · x402 manifest Council of AI — Measurement Agent, 12 skills · csoai.x402/0.2, network eip155:8453, mode live, 31 metered resources /.well-known/agent.json · /.well-known/x402.json

Four populations appear above on purpose and are never reconciled here: the signed-card index (335 via /signed/card_index.json), the living /api/cards registry (336), the public-root leaf count (325 via /root.json), and the Hub cells (live GET /api/hub-cards → .counts; currently 438/438/0). Quote each with its URL. Ceremony: card verify ≠ root inclusion — signed-index/root identifier overlap = 0; never sell “335 in the root.”

Non-self payers (publisher metric): distinct_nonself_payers = 3 all-time · 3 in 30 d · 4 settlements · publisher status MEASURED — read from /api/revenue. Payment principals do not establish independent customers, delivery, buyer acceptance or repeat use.

Install the readers

pip install csoai-gspc          # 0.2.20261027 — board, axis, verify, root, snapshot

MCP: use the hosted free-reader endpoint. Client setup, current tool list and examples.

Products

product what you get door (live status at derive time)
commission-card Commission a signed card (request-attestation) /api/request-attestation?subject=csoai&axis=honesty → 402
evidence-bundle Evidence bundle mapped to an obligation /api/evidence-bundle?obligation=article-50&subject=csoai&bundle=1 → 402
eu-ai-act-pack EU AI Act pack (Article 50 / 53 transparency) /api/evidence-bundle?obligation=article-53&subject=csoai&bundle=1 → 402
swift-bank-pack SWIFT/bank census evidence pack /api/evidence-bundle?obligation=dora&subject=csoai&bundle=1 → 402
xrpl-asset-evidence XRPL asset evidence card (per request) /api/rwa/evidence?asset=RLUSD → 402
signed-data-feed Signed data feed (assembly + cadence) /api/eunomia-data?feed=1 → 402
provider-diff-feed Provider document diff feed /api/feeds/provider-diff?history=1 → 402
receipts-batch Receipts batch (historical measurement leaves) /api/receipts/batch?from=2026-09-01&to=2026-09-05 → 402
art50-marking-evidence Article 50 transparency marking evidence (per asset) /api/art50/marking-evidence?url=/ → 402

9 products read from docs/product/_INDEX.json (as_of 2026-09-06T06:00:18Z). A 402 means the door is metered by x402 and the amount appears only in that 402 challenge — never here, never on the board. Verification of every artefact is free.

Where the board is published

surface what lands there read back at derive time carries the live root as_of?
Hugging Face dataset csoai/gspc-board snapshot/ — board.json + root.json byte-for-byte, SNAPSHOT.json, check-board.sh, gspc-axes.csv/.jsonl as_of 2026-10-27T21:20:49Z · merkle a2620ac322c5… · 325 leaves · modified 2026-10-28T09:36:54.000Z yes
Hugging Face Space csoai/gspc-board the same snapshot/ folder beside the one living Space runtime RUNNING · modified 2026-10-28T05:16:00.000Z n/a
Kaggle dataset nicktempleman/csoai-gspc-living-board a new dataset version per changed fingerprint; the subtitle carries as_of HTTP 200 · latest ISO timestamp on the listing page 2026-10-28T05:15:51Z no — behind
GitHub mirror CSOAI-ORG/gspc-board the snapshot files on main as_of 2026-10-27T21:20:49Z · merkle a2620ac322c5… · 325 leaves yes
Zenodo 10.5281/zenodo.22293340 a new version under the concept DOI, isDerivedFrom the methodology 1 versions · latest 10.5281/zenodo.22344048 = as_of 2026-09-05T09:00:28Z (2026-09-05) no — behind
PyPI csoai-gspc csoai-gspc==0.2.<YYYYMMDD> — reader + verifier, snapshot bundled as package data 0.2.20261027 · uploaded 2026-10-28T03:29:34 · Apache-2.0 n/a
npm csoai-gspc-mcp stdio MCP server over the same endpoints (published by hand — the account is WebAuthn, so the daily spray cannot push here) 0.2.3 · published 2026-10-26T07:21:23.715Z · Apache-2.0 n/a

Pushed by scripts/spray/gspc-spray.py (daily, idempotent by as_of and fingerprint). The live root as_of at derive time was 2026-10-27T21:20:49Z; a surface that lags is shown lagging, not reconciled. Board data is CC-BY-4.0; the reader packages are Apache-2.0 / Apache-2.0.

G2 signed cards — 14 Oct 2026

29 new signed measurement cards (G2, merged in #3164) are served at https://councilof.ai/interop/mill-cards-signed/ and mirrored with an index at https://huggingface.co/datasets/csoai/gspc-signed-boards/tree/main/g2-2026-10-14.

  • Root inclusion pending (#3165). These cards are not yet in a card root.
  • Excluded: 2 care cards, whose results are parse-confounded and not citable. The qwen3:8b safety result is held and is not listed.
  • Axes: governance 7 · conformance 6 · continuity 6 · openness 5 · provenance 4 · safety 1. Public base models: gemma3:12b, llama3.2:3b, mistral:7b, qwen2.5:0.5b, qwen2.5:3b, qwen2.5:7b, qwen3:8b.
  • Verify any card free at https://councilof.ai/gspc-verify/. Measurement, not certification.

Source mirror. This repository is the GitHub source of record for source changes. A public mirror is also available at https://huggingface.co/datasets/csoai/councilof-ai-source; live public evidence remains at https://councilof.ai.

OpenSSF Scorecard

Hosting and deploy

Host Cloudflare Pages project Deploy
councilof.ai / www councilof-ai GitHub Actions deploy.yml → wrangler pages deploy
csoai.org csoai-site Wrangler (csoai-site-deploy.yml)

Vercel is not the live host. The leftover Vercel Git links (csoai-v2-app, councilof-ai-src) were disconnected and those Vercel projects deleted on 31 Aug 2026.

Build (this repo):

npm run build:client
bash scripts/prerender-run.sh --dist dist/client --wait 900 --min 350
# GHA deploy.yml ships dist/client to Cloudflare Pages

Do not run npx vite build from the repo root (it picks up a dead src/). Do not vercel deploy this site.

Agents — paid artefacts (x402)

The board and verification stay free. Metered artefacts (issuance, evidence assembly, signed feeds) are on the x402 rail. Amounts live only in the HTTP 402 challenge — this README does not invent a price. A grade is never sold.

Independent evidence, free checks and paid artifacts

CSOAI is an independent evidence layer. The evidence contract follows identity → authority → policy → execution → effect → evidence → verification → freshness/correction → delivery/acceptance. Each link needs its own attributable record; a missing link stays unknown. Existing identity, policy, orchestration, telemetry and payment systems keep their roles. Current measurement methods and limits are published in the methodology and corrections ledger.

Start with free verification or connect the free MCP tools. Inspect a dated result and its stated signature, issuer, scope and freshness limits before requesting a paid artifact. Verification checks the supported evidence contract; it does not establish that every claimed action occurred, certify a system or establish legal compliance.

For a paid request, choose an existing artifact from the live catalogue, inspect that endpoint's HTTP 402 challenge, and decide whether its stated input, output, amount and limits meet your need. Payment covers the stated service, never a favourable grade, board position or certification. A 402 challenge is an offer, not a payment or a delivered result.

Commercial evidence

Record the UTC time of your read. Use the live revenue ledger for all-time and rolling-window non-self wallet-principal counts, settled amounts and repeat-payer counts. A wallet principal does not by itself identify an independent customer. Free requests, downloads, listings, operator tests and signatures do not establish sales or adoption.

Keep the stages separate: request → settlement → delivered artifact → buyer acceptance → repeat use. Delivery needs the requested output and its digest joined to the operation; acceptance needs an attributable buyer record. A settlement alone does not establish delivery, acceptance, recurring earnings or an IP valuation. SAFE contribution status is separate from CSOAI product use and must not be presented as adoption or endorsement.

Buyer integration guides

Description taken from the repository README.

Ratings

–
0 ratings
5 0
4 0
3 0
2 0
1 0

Rate this app

Sign in to rate

Comments 0

Sign in to comment

No comments yet.

Related apps

#governance · #ai-safety · #research