free, but without any guarantee.

Where your data actually lives.

No tracking.

There is no analytics script, no pixel, no session recorder, no behavioral cookie. The reason is partly principle, partly performance: every tracker is bytes you have to download before your photo starts uploading.

Client-side JavaScript is kept to the minimum required for the upload queue, hashing, and resumable chunking. Nothing else runs in your browser.

Services that handle a request.

  • Bunny Storage

    object storage, EU

    Stores original image files and generated previews in Frankfurt, with a replica in Stockholm. Images are delivered through Bunny's global CDN.

  • bunny.net

    application hosting

    Runs the Phoenix application in Germany and delivers requests through its CDN with caching disabled. The application handles uploads and processes images.

  • Hetzner

    database, Germany

    Hosts the Postgres database that stores collection metadata, upload state, and image records. No raw image bytes are stored here.

  • Cloudflare

    DNS only, no caching

    Resolves the domain without proxying application traffic. Cloudflare does not see your application requests beyond DNS lookup.

What we store about you.

For each collection: the collection ID, the images you upload, their EXIF data, and an animal handle for the device that uploaded each image. No account, no email, no IP log beyond what the hosting layer keeps for operating the service.

Questions?

Email kb@v01.io. For legal details about who operates this, see v01.io.