Last updated: March 2025
Verity is privacy-first by architecture: analysis runs locally wherever possible and the registry is designed to work on hashes, not media. This page describes exactly what leaves your device and what we store.
Browser extension
- Media never leaves your device. Decoding, C2PA validation, metadata forensics, ELA, OCR, and the optional AI model all run locally.
- Registry lookups and verdict submission send content hashes only: SHA-256, perceptual hash, and (only if you enable it) a CLIP embedding vector. No pixels, no filenames.
- Surrounding caption text may be sent to the registry's fact-check relay (which forwards to Google Fact Check Tools) and, when present, to fact-check sources directly.
- No analytics, no tracking pixels, no cookies, no accounts.
- Settings (feature toggles, optional API keys you paste) live in
chrome.storage.localand never sync anywhere.
Telegram & Discord bots
- Media you send is processed in memory and discarded; only the resulting hashes and verdict record are persisted.
- Your chat ID is used only for rate limiting and is not published.
Registry (this site)
- Stored per checked item: SHA-256, perceptual hash(es), optional embedding, source URL when provided, the verdict record, and an OpenTimestamps token. No media bytes are ever stored.
- Client IPs are kept in memory only, for rate limiting, and are not persisted or logged beyond standard hosting logs.
Third-party requests
Depending on enabled features, lookups may go to: Google Fact Check Tools (caption text), BigDataCloud reverse geocoding (coordinates), Open-Meteo (coordinates + date), Internet Archive Wayback (URL/hash), Wikimedia Commons (SHA-1), RDAP (hostname), and OpenTimestamps calendars (SHA-256). Optional, operator-enabled integrations (SauceNAO, Sightengine) upload media to those providers and are off by default.
Contact & changes
This policy may be updated alongside the code; the repository history is the record of change. Questions: GitHub issues.