---
title: "Verify"
description: "Verify the authenticity and integrity of Anonymous Planet releases."
hide:
- toc
schema:
"@context": https://schema.org
"@type": Organization
"@id": https://anonymousplanet.net/
name: Anonymous Planet
url: https://anonymousplanet.net/verify/
logo: ../media/profile.png
---
Never blindly trust anything you download.
Verify ReleasesSignatures. Hashes. Trust nothing blindly.
Every release is GPG-signed and hashed. Verify before you read.
---
## What We Publish { #artifacts }
PDF Guide
thgtoa.pdf and thgtoa-dark.pdf — the full guide in light and dark mode. The only canonical single-file export.
Latest release
Detached Signatures
.asc files for every PDF and hash file, signed with the Release Signing Key (RSK). Verify with gpg --verify.
Our keys
Hash Files
sha256sums.txt and b2sums.txt for integrity. Both are also signed. Check with sha256sum -c or b2sum -c.
Manual steps
---
## Quick Verification { #quick-verification }
### Using the Python Script (Recommended)
```sh
# Verify everything — hashes, signatures, and optionally VirusTotal
python scripts/verify_pdf.py --all
# Hashes only
python scripts/verify_pdf.py --hashes
# GPG signatures only
python scripts/verify_pdf.py --signatures
# VirusTotal scan status (requires VT_API_KEY env var)
python scripts/verify_pdf.py --vt
```
---
## Manual Verification { #manual-verification }
### 1. Import the key
```sh
gpg --import pgp/anonymousplanet.asc
```
Verify the fingerprint against our [PGP page](../pgp/index.md) and [GitHub releases](https://github.com/Anon-Planet/thgtoa/releases) before trusting it.
### 2. Verify the PDFs
```sh
gpg --verify export/thgtoa.pdf.asc export/thgtoa.pdf
gpg --verify export/thgtoa-dark.pdf.asc export/thgtoa-dark.pdf
```
Expected output:
```text
gpg: Signature made Sun 31 May 2026 03:23:26 AM EDT
gpg: using EDDSA key C3023DBEA3FB38C438BA1EEDCEC60AEDE8B992A2
gpg: Good signature from "Anonymous Planet Release Signing Key" [ultimate]
Primary key fingerprint: C302 3DBE A3FB 38C4 38BA 1EED CEC6 0AED E8B9 92A2
```
!!! note "About the WARNING"
`WARNING: This key is not certified with a trusted signature` is expected. It means the key has not been co-signed by another key in your web of trust — not that the signature is invalid.
### 3. Check hashes
=== "Linux / macOS"
```sh
sha256sum -c sha256sums.txt
b2sum -c b2sums.txt
```
=== "Windows (PowerShell)"
```powershell
Get-FileHash -Algorithm SHA256 export\thgtoa.pdf | Select-Object Hash
# Compare with the value in thgtoa.pdf.sha256
```
### 4. VirusTotal (optional)
```sh
export VT_API_KEY=your_vt_api_key
python scripts/verify_pdf.py --vt
```
Or open the VirusTotal report URLs listed in the release notes directly.
---
## Troubleshooting { #troubleshooting }
**"Good signature" but wrong owner?**
Ensure you imported the correct key from [`pgp/`](../pgp/index.md). Check the fingerprint matches the RSK: `C302 3DBE A3FB 38C4 38BA 1EED CEC6 0AED E8B9 92A2`.
**Hash mismatch?**
Re-download the file. Verify you are using the correct hash file for the edition (light vs dark). Check for disk errors.
**GPG not installed?**
| Platform | Command |
|---|---|
| Debian / Ubuntu | `sudo apt install gnupg` |
| RHEL / Fedora | `sudo dnf install gnupg2` |
| macOS | `brew install gnupg` |
| Windows | [Gpg4win](https://gpg4win.org) |