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
- Sequence
- #3
- Score
- 0 → 0 (0)
- Cluster
- mainnet-beta
- Slot
- 443518752
- Off-chain at
- 2026-08-26T00:02:00.780Z
- Anchored at
- —
- Block time
- —
Independent verification
- 1. Database (off-chain)
- 3Kk1SNN8Aa1S2oXMxqsHgHC6Mc6GHZuHMZTSsfkww9yG
- 2. Recomputed (your browser)
- computing…
- 3. On-chain (Solana memo)
- fetching…
Canonical bytes hashed (2364 chars)
{"actor":"judge","decided_at":"2026-08-26T00:02:00.388Z","decision":"review_approve","investigation_id":"5fa545d1-320b-4b85-9850-7ff1ca773a30","new_score":0,"page_slug":"jadepuffer-first-fully-autonomous-ai-ransomware-targeting-crypto-wallet-keys","prev_score":0,"reason":"An independent fact-check examined 20 individual claims on this page against the primary security research (Sysdig) and independent secondary sources. Thirteen were confirmed outright, five were partially supported, one was stale, and one was disputed, giving a disputed rate of 5% (1 of 20) — well inside the range where a page is approved as-is. The single disputed item (claim_findings[3]) mixes up two different snapshots of how many Langflow servers were still exposed, presenting counts from different dates as if they were taken at the same time; this is a narrow statistical slip that does not touch the page's central narrative. The stale item (claim_findings[7]) is an uncited claim about which Langflow version was 'current' that had already been superseded, also low-stakes. A coverage gap (coverage_gaps[1], rated medium, not high) notes the mitigation section omits a second Langflow vulnerability already present in the page's own source list. None of these push the page out of the approval band. Separately, and outside the review's normal claim-by-claim scoring: the page's URL states 'first fully autonomous AI ransomware' as flat fact, while every instance of that claim in the page's own text is explicitly hedged as a named vendor's assessment, and the page proactively discloses the same open questions (unconfirmed wallet ownership, unconfirmed data theft) that this review independently checked. That is a real inconsistency between the slug and the body copy, and revising body text cannot fix it. The scoring mechanism used here operates on claims and sourcing within the page content, and has no lever — no disputed-claim category, no coverage-gap type — built to penalize the wording of a slug itself. Rather than stretch an unrelated finding to cover that gap, we are flagging it directly as a to-do outside this review's scope: the slug's unhedged superlative should be revised to match the page's own careful framing.","score_delta":0,"sequence_num":3,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}