Skip to main content
AVOID.NET
← avoid.net

Verify a decision

Every moderation decision on AVOID.NET is anchored to the Solana blockchain. You don't have to trust us — you can verify cryptographically that we committed to a verdict at a specific moment and have not rewritten it.

How verification works

  1. We commit. When a moderator accepts/rejects a submission, we serialize the decision into deterministic UTF-8 bytes (payload_canonical_string), hash it with SHA-256, encode the digest as base58, and write it to Solana inside an SPL Memo v2 transaction.
  2. We store the bytes. The exact bytes we hashed are stored alongside the decision in our database. Anyone can read them and recompute the hash in any language.
  3. You compare three values. Database hash, your independently-recomputed hash, and the hash inside the on-chain memo. If all three match, the decision is authentic and timestamped.
The on-chain memo format is AVOID.NET|v1|h:<b58-sha256>|d:<id>|t:<iso>

Find a signature on any investigation page's decision log, or run python -m src.verify_decision --signature <sig> for a CLI check.

Sequence
#3
Score
206 (-14)
Cluster
mainnet-beta
Slot
443520244
Off-chain at
2026-08-26T11:05:00.855Z
Anchored at
Block time

Independent verification

1. Database (off-chain)
3vjfXGUgCPXCGm2s9mrAMHfPT2ZC85FXTHrkuHUzFZJB
2. Recomputed (your browser)
computing…
3. On-chain (Solana memo)
fetching…
Canonical bytes hashed (1764 chars)
{"actor":"judge","decided_at":"2026-08-26T11:05:00.712Z","decision":"review_revise","investigation_id":"8e56f9fb-fabd-445a-85fa-6b1a284eb4e8","new_score":6,"page_slug":"adform-ad-tech-supply-chain-wallet-swap-attack","prev_score":20,"reason":"This page's disputed rate is 20% (4 of 30 claims), which falls in the review_revise range, but the disputed claims are not scattered minor errors -- they are four restatements of a single central claim (claim_findings[3], [16], [17], [28]) that the compromise may have run 'at least a week,' and Adform's own dated incident update, which the page never cites, puts the real window at about 19.5 hours. Three additional claims (claim_findings[12], [25], [29]) are marked stale for the same underlying reason: the page relies on Adform's early statements about data exfiltration and regulatory notification without incorporating the company's own August 5 update, which narrows the exfiltration risk to certain pages and names the Danish Data Protection Authority as a notified regulator. The reviewer's single high-priority coverage gap points to this same missing source, so the page's biggest problem is a citation gap rather than fabricated or contradicted-by-outsiders content. The review also found the page erring in both directions -- overstating confirmed exposure in one figure (claim_findings[1]) while omitting a researcher's criticism that softens the company's image (a coverage gap) -- so there is no one-sided bias, and 18 of 30 claims were fully confirmed with correct framing of Adform as the compromised party rather than a negligent actor (claim_findings[6]).","score_delta":-14,"sequence_num":3,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}