Privacy
Last updated 14 October 2026. This page covers the hosted demo at grainmark.app (alias proofsheet.rick3.dev). Grainmark is operated by Hoopes Group LLC, an Oregon limited liability company (Oregon Business Registry No. 263985690); "we" and "us" in this page mean Hoopes Group LLC.
What you send
If you seal or verify media, the file bytes are uploaded to this server so it can build or check a Grainmark sidecar. There are no accounts. We do not use the files for advertising or model training.
What we keep
- A sidecar (MediaAnchor JSON) under a random id, plus a small metadata record (hash, optional source URL, created time, publish flag).
- The uploaded file itself is written to a private temp directory and deleted when that request finishes. With the two-step MCP tools, a file waits there for up to 15 minutes until the matching complete call, and is deleted after it, or when the upload expires.
- A sidecar includes three JPEG probe frames of the media. Sharing or publishing a sidecar shares those images.
Private vs published
New seals stay private. The public list, lookup, metadata, download, and verify-by-id paths do not expose a private seal unless you send the create-time access token or you publish it. Publishing is an explicit action. Old test seals from before this rule may remain on disk; they are not listed.
What a green result means
A match is an unsigned visual comparison against a sidecar you supplied or a seal this host still holds. It is not a camera signature, or a claim that the scene was never generated or edited outside the tested visual envelope. A confirmed timestamp proves the seal existed no later than Bitcoin block time T. It does not prove who captured the media, when it was captured, or that it was sealed at capture. Audio and playback timing are not compared.
Once an hour Grainmark sends one random-looking 32-byte value to public OpenTimestamps servers; nothing in it identifies media, people, or seal counts.
The iOS app generates a random install id and sends it only as the X-Grainmark-Install header to count the free photo and video allowance. It does not link that id to an identity and does not use it for tracking.
Stripe stores the email collected at checkout. This server stores the Stripe customer id, subscription id, and plan next to the key hash, not a card number.
Logs and contact
The reverse proxy and application may log request time, path, status, and client IP. No account cookies. Questions: hello@rick3.dev.