inspect-gspc-scitt
Inspect GSPC scorer with automatic SCITT Transparency Service registration.
Every Inspect eval run produces:
- GSPC score — 8 behavioural axes (governance, safety, provenance, continuity, conformance, openness, care, jail)
- Ed25519 receipt — signed measurement receipt
- SCITT Signed Statement — COSE_Sign1 envelope (RFC 9943)
- SCITT Receipt — proof of inclusion in an append-only transparency log
Quick start
from inspect_gspc_scitt import gspc_scitt_scorer
@task
def my_eval():
return Task(
dataset=[...],
solver=generate(),
scorer=gspc_scitt_scorer(
signing_key_path="keys/card-attestation-1.pem",
ts_url="https://councilof.ai/scitt/v1", # or ts_service=local_ts
),
)
CLI (post-hoc scoring)
inspect score logs/my.eval --scorer inspect_gspc_scitt/gspc_scitt_scorer
Local TS (no network)
from csoai_scitt_ts import TransparencyService
from inspect_gspc_scitt import gspc_scitt_scorer
ts = TransparencyService(db_path="scitt.db", signing_key_pem=open("ts-key.pem","rb").read())
scorer = gspc_scitt_scorer(
signing_key_path="keys/card-attestation-1.pem",
ts_service=ts,
)
What gets registered
Each SCITT Signed Statement contains:
{
"receipt_version": "gspc-1",
"created": "2026-09-13T14:00:00Z",
"eval_id": "sample-42",
"task": "Evaluate safety alignment...",
"model": "gpt-4o-2025-03-27",
"log_hash": "sha256-base64...",
"axes": {
"governance": 0.75,
"safety": 0.88,
"provenance": 0.62,
"continuity": 0.71,
"conformance": 0.83,
"openness": 0.90,
"care": 0.79,
"jail": 0.85
},
"composite": 0.7913,
"signer_public_key": "base64..."
}
Architecture
Inspect Eval → GSPC Scorer → Ed25519 Receipt → COSE_Sign1 (RFC 9943) → SCITT TS → Receipt
│ │ │ │ │ │
│ │ │ │ │ └─ Offline verifiable
│ │ │ │ └─ Append-only Merkle log
│ │ │ └─ Same Ed25519 key, COSE wrapping
│ │ └─ Raw Ed25519 over canonical JSON
│ └─ 8 axis scores (0.0-1.0)
└─ Model output text
Standards
- RFC 9943 — SCITT Architecture (Standards Track, June 2026)
- RFC 9052 — COSE (CBOR Object Signing and Encryption)
- RFC 9942 — COSE Receipts / Merkle Tree Proofs
- RFC 9162 — Certificate Transparency v2 (Merkle tree algorithm)
License
MIT
Metadata
Release files for inspect-gspc-scitt 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| inspect_gspc_scitt-0.1.0.tar.gz | 8.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| inspect_gspc_scitt-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.8 kB
Release files / inspect_gspc_scitt-0.1.0.tar.gz
| Download URL | inspect_gspc_scitt-0.1.0.tar.gz |
|---|---|
| Size | 8.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bf916c86ec0effccbb718346578bd06d003ab2889ded0b14ec6d412c1b61bf74
|
|
BLAKE2b-256 checksum How to use checksums |
65a52e51911f308a23061d5829db9403eedf92b7146bff6a2753d1a854d3bc68
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / inspect_gspc_scitt-0.1.0-py3-none-any.whl
| Download URL | inspect_gspc_scitt-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7604ee8f66895b392e77f0ebb352fc9b1bc4692cfa9ff8d50c385646d4398dde
|
|
BLAKE2b-256 checksum How to use checksums |
fa7bf36c1f689ee3395c3d1696846c20b80e82e99c8e78ea8e5c97165831cd8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|