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
- 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. - 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.
- 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.
Decision
review_approve · IRS Fake Digital Asset Compliance Portal Phishing Campaign 2026
- Sequence
- #3
- Score
- 0 → 0 (-4)
- Cluster
- mainnet-beta
- Slot
- 443518309
- Off-chain at
- 2026-08-25T22:58:25.382Z
- Anchored at
- —
- Block time
- —
Independent verification
- 1. Database (off-chain)
- H7fkYve4ZpPQxSMaS8gtiwHWtb5uyPvsj3i2TW1eXFg1
- 2. Recomputed (your browser)
- computing…
- 3. On-chain (Solana memo)
- fetching…
Canonical bytes hashed (2923 chars)
{"actor":"judge","decided_at":"2026-08-25T22:58:25.205Z","decision":"review_approve","investigation_id":"ce124313-4762-44fc-8303-caef158070b8","new_score":0,"page_slug":"irs-fake-digital-asset-compliance-portal-phishing-campaign-2026","prev_score":0,"reason":"Of 30 checked claims, 27 were confirmed outright, 0 were disputed, and 0 were unverifiable, so disputed_pct is 0.0% by the reviewer's own formula (disputed + unverifiable / total) — squarely in the approve band, and reviewer confidence (0.85) is high enough not to soften that further. The page's central claims (the fake letters, the fraudulent portal, the IRS's official denial, the infrastructure details, the statistics, and the safety guidance) are corroborated by independent reporting and by the IRS's own current alert page, and the reviewer explicitly confirms the IRS is consistently framed as the victim/impersonated party with no inverted safety advice (the single most consequential thing to get right on a phishing writeup). Two sub-threshold issues keep this from a clean pass, both correctly excluded from the numerator as 'partially_supported' rather than disputed: claim_findings[14] misattributes a 'professional, international fraud operation' characterization to the outlet's own editorial judgment when it was actually a reproduced quote from Coinbase, and claim_findings[22] uses an accurate TRM Labs hack-count statistic to support an inference (a shift toward social engineering) that the same TRM Labs dataset does not bear out, since smart-contract exploits remained the majority category. Separately, claim_findings[18] is a real citation-integrity defect, not merely a dead link: the page's primary IRS.gov regulatory citation resolves to a genuine but unrelated 2022 IRS-CI alert about a different scam, and the source's own recorded archive timestamp (2026-02-09) predates the July 2026 campaign it is cited to document, meaning the citation could never have supported the claim as published. The correct IRS.gov alert exists at a different URL and does support the page's substance, so no factual claim is actually wrong — but a reader clicking through would land on a real government page describing something else entirely and might not notice the mismatch. This is a mismatched citation, not link rot in the ordinary sense, and it sits on the page's single most load-bearing government source. The disputed_pct formula has no mechanism to weight that distinction — it treats this identically to a citation going 404 — so I am applying a modest downward adjustment within the approve band to reflect it, rather than either ignoring it or manufacturing a verdict change the data doesn't support. No coverage gap was flagged high priority, so gaps do not independently justify escalation.","score_delta":-4,"sequence_num":3,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}