# Verifying a vake.works preprint

Every VakeWorks-authored preprint here is sealed like an arXiv paper: a stable id, a
timestamp, and a cryptographic integrity seal, so you can confirm the PDF you have is the
authentic, unaltered, self-hosted version — no third party required.

## The one-command check

```
python3 tools/verify-preprint.py <the-preprint>.pdf
```

It reports:
- **AUTHENTIC** — the file's SHA-256 matches a sealed catalog entry (prints id, version, date, title).
- **TAMPERED** — the filename matches a catalog entry but the bytes differ (altered copy).
- **UNKNOWN** — no catalog entry matches this file's SHA-256.

It also re-verifies the catalog's internal hash-chain (each entry links to the previous), so
you can trust the catalog is internally consistent and append-only.

## Verify by hand (no tool)

1. Compute the hash of your PDF:
   ```
   sha256sum <the-preprint>.pdf
   ```
2. Open `CATALOG.json` and find the entry whose `sha256` matches. Its `id`, `version`, `date`,
   and `title` are the authentic metadata.

## What the seal is

- **Stable id** — arXiv-shaped and versioned, e.g. `vw:2026.0818/watermark-detection-jem` (`v1`, `v2`, …).
- **SHA-256** of the exact PDF bytes, recorded in `CATALOG.json`.
- **Hash-chain** — each catalog entry hash-links to the previous one (`prior_link` → `entry_hash`),
  making the publication history append-only and tamper-evident.
- **Signature** — the catalog is (or will be) signed by the VakeWorks *publication* key
  (Ed25519); until the signing ceremony is complete, integrity rests on the SHA-256 hash-chain,
  which the verifier checks regardless. The private key is held off-host; only the public key and
  signature appear here.

Sovereign, tamper-evident, human-verifiable — our own arXiv.
