Trailstory

Turn a hike into a memory worth sharing.

Privacy

Trailstory is built around a simple promise: your hike is yours. We do not keep accounts, we do not run analytics on your photos or your text, and we do not retain your raw uploads after the page is rendered.

Lifecycle of one upload

  1. Upload received. Your GPX file and photos are written to a temporary directory on the server, identified only by a random one-time slug. No name, no email, no account.
  2. Parsing & resizing. We parse the GPX, resize each photo to a maximum edge of 1800px, and strip GPS coordinates and other identifying EXIF metadata from the resized JPEGs. The originals are never re-served.
  3. Narrative call to Anthropic. A structured prompt — your description plus the hike statistics (distance, elevation, duration) — is sent to Anthropic's Claude API to write the EN/RU/DE narrative. Photo bytes are not sent to the API; only their chronological order and a numeric index.
  4. HTML rendered. A single self-contained HTML file is written, with the privacy-stripped JPEGs embedded as base64 data URIs. The file works offline and can be sent over any messenger.
  5. Raw upload deleted. Your raw GPX and original photos are wiped from the temporary directory as soon as the response is sent — typically within a second of the page loading. Only the privacy-stripped JPEGs and the rendered HTML page remain.
  6. Workspace expiry. The rendered page stays on disk for 30 minutes so you can re-share the link or generate an Instagram carousel. After that window the entire workspace is deleted by an automatic sweep.

Verify it yourself

Trailstory is open source. Every behaviour described above is enforced by the code in this repository — read it, check it, file an issue if anything looks wrong:

What we do not do

Sent to Anthropic

The prompt sent to the Anthropic API contains: hike statistics derived from your GPX (distance, elevation gain, duration), the location name you provided (if any), and your description text. Photo bytes are not sent to the API; only their chronological order and a numeric index. Anthropic's own privacy and retention practices apply to that single API call.

← Back to the builder