Privacy
Last updated July 2026
or it didn't happen lets an event host collect photos from participants directly into the host's own cloud storage. The core idea is simple: we never store your photos. They go straight from a participant's device into the host's Google Drive or Dropbox.
What we store
We keep only the small amount of data needed to make an event work, in a Cloudflare D1 database:
- The event title and the optional email address a host provides.
- An admin token and per-participant session tokens (random strings) used to authorize access.
- Participant usernames — either chosen, or auto-generated (e.g. "quiet-otter").
- For each uploaded photo: its filename, type, size, and a storage path pointing to the file in the host's cloud (not its location on a map) —never the photo itself.
Your cloud connection
When a host connects storage, we request the narrowest possible permission. For Google Drive that is the single https://www.googleapis.com/auth/drive.file scope, which grants access only to files and folders this app itself creates. We never request identity scopes (no openid, profile, email, or contacts), so we do not receive the host's name, email, or Google account details, and we cannot see, list, or read any pre-existing file in the host's Drive. Dropbox connections use the equivalent file-write scope.
Google user data we access
Under the drive.file scope, the only Google user data our application accesses is:
- OAuth tokens. An access token and a refresh token issued by Google when the host authorizes the connection.
- The event folder and files we create. A single Google Drive folder created for the event, and the photo and video files participants upload into it — including each file's ID, name, type, size, and Drive-generated thumbnail.
How we use it
- Tokens are used solely to call the Google Drive API on the host's behalf for the actions below, and to refresh access when it expires. They are encrypted (AES-256-GCM) before being stored in our Cloudflare D1 database and are never exposed to participants or anyone else.
- Files are used only to (1) create the event's folder, (2) upload participants' photos and videos into that folder, (3) display thumbnails and stream media back in the event gallery, and (4) delete a file from the folder when the host removes that photo or the event. We do not access any other file in the host's Drive.
We do not use Google user data for advertising, and we do not sell it or share it with third parties. No humans read this data, and it is not used to train machine-learning or AI models. Our use of information received from Google APIs adheres to the Google API Services User Data Policy, including its Limited Use requirements.
Retention & deletion of Google data
Encrypted tokens are kept only for the life of the event so uploads and thumbnails keep working. When the host deletes the event, we best-effort remove the files this app uploaded from the host's Drive and permanently delete the encrypted tokens and all event records from our database. Photo and video files themselves live in the host's own Google Drive — the host controls and can delete them there at any time, and can also revoke this app's access from their Google Account permissions.
No accounts, no tracking
There are no user accounts and no passwords. A participant's username and session are kept in their browser's localStorage so they're recognized when they return to the same event. We don't use advertising or third-party analytics trackers.
If a host provides an email address, we send them their admin link once via Cloudflare's email service. The email is optional — the link is always shown on screen too.
Push notifications
If you opt in to new-photo notifications for an event, your browser gives us a push subscription — an endpoint URL provided by your browser's push service (e.g. Google or Mozilla) plus two keys used to encrypt messages to your device. We store these only to notify you when photos are added to that event, and you can turn them off at any time, which deletes the subscription. We never see your identity from a push subscription.
Deleting data
Photos live in the host's own cloud, so the host controls them directly there. To have an event's metadata (the records described above) removed from our database, contact feedback@oritdidnthappen.pics.
Contact
Questions about privacy? Email feedback@oritdidnthappen.pics.