Privacy Policy
Last updated: 2026-05-06
Fishtank is a tool that helps you store files in your own Google Photos account
using a steganography wrapper. This page explains exactly what data we touch and
who can see it.
Where your files actually live
When you upload a file through Fishtank, the bytes are wrapped inside an MP4
container and uploaded to your own Google Photos account using
the credentials you provided in Settings. Fishtank does not store your file
content on its own servers. The wrapped MP4s sit in your Google Photos library,
counted against your Google quota or unlimited tier - that is between you and Google.
Who can see your files
- You, when signed in with your Fishtank account.
- Anyone you give a share link to. A share link is unguessable,
can have an expiry, and can be revoked at any time from the dashboard. Once
shared, we cannot un-share an already-downloaded copy.
- Google. Because the files live in your Google Photos account,
Google's systems process them under their own privacy policy. Google can scan
uploads for things like CSAM detection, malware, and policy violations. Fishtank
cannot prevent that and does not try to.
- Cloudflare. Fishtank runs on Cloudflare Workers. Cloudflare
handles the network traffic to and from the worker; they do not get
cleartext access to anything beyond standard request metadata.
The Fishtank operator does not have a way to read your file contents from
inside Fishtank. We do not run a search or preview pipeline over your data.
File contents are streamed end-to-end through the worker without being
persisted anywhere outside Google Photos.
What we store about you
- Your email address (used to sign in and to send the verification code).
- Your password, hashed with PBKDF2-SHA-256. We never see or store the
cleartext password.
- Your Google Photos auth blob (the credential your client uses to talk to
the Google Photos API). It is encrypted at rest with AES-256-GCM, using a
key derived from a server secret. Without that secret the encrypted blob
is unreadable.
- Per-file metadata: filename, size, upload timestamp, the chunk identifiers
we need to fetch and delete the wrapped MP4s, and which folder it sits in.
- Share-link records (token + optional expiry) for the links you create.
- A short-lived signin throttle counter to slow down brute-force attempts.
All of this lives in Cloudflare KV, scoped to your user ID. We do not sell or
share this data with anyone.
Cookies
Fishtank sets a single first-party session cookie named
__session. It is HttpOnly, Secure, SameSite=Strict, and contains a
signed JWT identifying which user you are. We do not use third-party cookies,
analytics, or trackers.
Email
The only email we send is the 6-digit signup verification code, delivered
through Resend. The address is not used for marketing.
Deletion
Deleting a file from Fishtank also moves the underlying chunks to your
Google Photos trash (or permanently deletes them if you choose). Closing your
account removes Fishtank's record of you; the files in Google Photos are yours
and remain there until you remove them from Google Photos directly.
What we cannot promise
- We can't promise your data is recoverable. Cloudflare KV, Google Photos,
or your own credentials can fail. Keep your own backups of anything important.
- We can't promise Google will never change their API in a way that breaks
Fishtank's access to files you've already uploaded.
- We can't promise a share link recipient will keep your file private once
they have downloaded it.
Contact
Questions about this policy? Email the operator at
contact@fishtank.ink.