Dual-track cryptographic verification for the Proper SCF + STRM Data Model. Every claim is hashed, anchored on Base, and timestamped on Bitcoin.
The Secure Framework Verification Token (SFVT) is an ERC-20 token on Base that anchors and proves the integrity of the Proper SCF + STRM Data Model through two completely independent cryptographic verification tracks. Token amounts sent to named wallets represent verified counts — the blockchain IS the audit trail.
When both roots match the claims in the Verification Package, and those roots are permanently anchored on-chain, the data becomes extremely difficult to dispute.
These are the ideals we built this tool on. Every number is computed, verified, and permanently anchored to a public blockchain. The pipeline checks the data. An independent audit checks the pipeline. The blockchain checks the audit. Three layers deep, each one watching the one before it. There are no estimates, no approximations, no assumptions carried forward on good faith. If it cannot be proven, it is not claimed. If it cannot be reproduced, it is not published. Every hash, every count, every verification checkpoint exists because the alternative was trusting someone's word — and we chose math instead.
SCF's 2026.2 release (July 8, 2026) moved every STRM mapping PDF off GitHub onto their CDN and made release contents variable. The pipeline now discovers the mapping documents from the workbook itself, downloads each with a SHA-256 fingerprint, and holds itself to internal consistency proofs instead of fixed counts. This release: 249 STRM PDFs, 83,367 mapping rows, 1,534 controls, 34 domains, 252 frameworks, 251 framework relationship tables.
| Human Review | 875 flagged rows reviewed against rendered PDF pages: 842 extraction artifacts removed, 13 real mappings recovered, 20 verified blank in SCF's own PDFs (documented upstream gaps — never filled). Full evidence in the verification package. |
| Independent Witness | All 249 PDFs re-read via Nutrient pdf-to-markdown (zero shared code with the pipeline): 99.94% value agreement across 60,000+ compared rows, zero confirmed extraction errors. |
| 2026.2 Merkle Seal | b6b247ae6d8b385b3cb144514241d32a061ac12908d78a057e40913b181b4a2c (31 leaves, all proofs verified) |
| On-Chain Status | Anchoring follows with the next-generation SFVT contract. All on-chain data below reflects the anchored 2026.1.1 release until then. |
| Source Preservation | Provenance mirror of all 249 PDFs · PR returning the PDF set to SCF (includes the workbook URL-typo bug report we found) |
Everything below is read from the receipt JSON. Nothing is hardcoded. If a hash is wrong, it says so.
Loading receipt data...
In addition to the SFVT token on Base, every critical artifact is independently timestamped on the Bitcoin blockchain via OpenTimestamps. This creates a second, completely independent proof that these files existed in this exact state at the time of stamping. Bitcoin is the most secure, longest-running blockchain in existence — these timestamps will be verifiable for as long as Bitcoin exists.
12 artifacts stamped via OpenTimestamps (4 calendar servers each). Pending Bitcoin block confirmation. Verify locally: ots verify <file>.ots
Every verified number is a leaf in a binary Merkle tree. Each leaf is hashed (SHA-256). Pairs of hashes are combined and hashed again, building up to a single root hash that represents ALL the data. Changing any single number changes the root — and the root is what's anchored on-chain. Click any node to see details.
Every number below is a named Merkle leaf. Changing any single value changes the root hash, which is permanently anchored on-chain. Click any shield to verify on BaseScan.
| What | Count | Leaf | |
|---|---|---|---|
![]() | Main Verification Chain Leaves | -- | main_leaves |
![]() | Audit Chain Leaves | -- | audit_leaves |
b0f2bc4b1683171ab51ba0b3ec3c4f5823ea8eda6f6494b0389eff1e1c646d86
Each wallet below represents a verified category. The balance IS the count — 249 SFVT in the Frameworks wallet means 249 frameworks verified. Every number links directly to BaseScan.
The pipeline recomputes every metric from scratch and compares against expected_totals.json (which is itself SHA-256 hashed into the verification chain). If any single number differs, the pipeline refuses to produce output.
python3 -c "from verify_chain import validate_results; validate_results(...)" to re-verify independentlyThe ABCD system doesn't hide problems — it flags them. When source data is incomplete, malformed, or missing fields, it shows up here with full context so you know exactly what's imperfect and why.
Loading transparency notes...
Each verified number has its own Base ENS wallet. The wallet's SFVT balance IS the verified count. Green shield = balance matches or exceeds expected. Red shield = balance is zero or missing. All data read live from the blockchain.
| Wallet (base.eth) | Verifies | Expected | On-Chain |
|---|