The short version
- TripStory asks before it keeps anything optional in your browser; until you choose, nothing optional is stored.
- One choice covers every TripStory site in this browser for 6 months, and you can change it any time in Privacy choices, at the bottom of every page.
- No ads, and we never sell or share your personal information.
- If your browser sends Global Privacy Control or Do Not Track, we treat it as "Reject all".
Your choices
Your current choices appear here.
Which sites one choice covers
www.tripstory.fun, app.tripstory.fun (including journey pages and profiles), and partners.tripstory.fun. They are all TripStory, so one choice in this browser applies to all of them. Other browsers and devices keep their own choice.
What we keep, by purpose
One table per purpose: its name, what it is for, then everything it keeps.
Needed to run TripStory
These keep you signed in, remember this choice, your theme and your language, carry photos you drop on the website into the app, protect reactions, invites and partner rewards from abuse, and complete payments you start. They don’t need your permission.
| Name | Type | Where | What it’s for | What it holds | How long | Set by, shared with |
|---|---|---|---|---|---|---|
ts_consent | Cookie | All TripStory sites | Remembers your privacy choices for every TripStory site. | Your answers, when you gave them, the registry version and a random consent ID. | 6 months | TripStory |
ts_auth | Cookie | All TripStory sites | Lets the website know you’re signed in to the app, so it can offer "Open TripStory". | The value 1, never a password or token. | 30 days | TripStory |
ts_theme | Cookie | All TripStory sites | Remembers the theme you picked. | light, dark or contrast. | 12 months | TripStory |
ts_motion | Cookie | All TripStory sites | Remembers that you turned animations off. | reduced or full. | 12 months | TripStory |
ts_lang | Cookie | All TripStory sites | Remembers the language you picked or were reading in. | en or he. | 12 months if you pick it; this browser session if carried from a page | TripStory |
ts_rcode | Cookie | All TripStory sites | Keeps a friend’s invite you accepted, so your gift applies when you sign up. | The invite code. | 30 days | TripStory |
ts_dev | Cookie | All TripStory sites | Stops people from rewarding themselves through their own invite or partner link. Set only for people who invite friends or are TripStory partners. | A random ID. | 6 months | TripStory |
tripstory.actor | Local storage | This site only | Lets you undo your reactions and lets us handle abuse of reactions, postcards and reports. Created only when you react, send a postcard or report. | A random ID and when it was made. | until you clear your browser data | TripStory |
tripstory.react.… | Local storage | This site only | Shows which reactions you gave on a journey. | Your reactions on that journey. | until you clear your browser data | TripStory |
tripstory.posted.… | Local storage | This site only | Shows your new postcard at once, before the page’s copy updates. | The time you posted. | 2 minutes | TripStory |
tripstory.name | Session storage | This site only | Fills in the name you signed a postcard with, for this visit. | The name you typed. | this tab | TripStory |
tripstory.returning | Local storage | This site only | Opens sign-in instead of "create account" once you’ve signed in before. | The value 1. | until you clear your browser data | TripStory |
tripstory.coach.… | Local storage | This site only | Remembers which tips you’ve already seen. | The tips shown. | until you clear your browser data | TripStory |
tripstory.units | Local storage | This site only | Remembers kilometres or miles. | km or mi. | until you clear your browser data | TripStory |
tripstory.referralClaimed.… | Local storage | This site only | Remembers that your invite was already handled. | The answer. | until you clear your browser data | TripStory |
tripstory.hebrewHint | Local storage | This site only | Remembers that you closed the Hebrew suggestion. | The word dismissed. | until you clear your browser data | TripStory |
tripstory.film.captions | Local storage | This site only | Remembers whether you turned the film’s captions on or off. | 1 or 0. | until you clear your browser data | TripStory |
tripstory.film.descriptions | Local storage | This site only | Remembers whether you turned the film’s audio descriptions on or off. | 1 or 0. | until you clear your browser data | TripStory |
tripstory.journeyBar | Session storage | This site only | Remembers that you hid the "make your own" bar. | The value 1. | this tab | TripStory |
tripstory.pendingImport | Session storage | This site only | Keeps an iCloud link you shared while you pay. | The link. | this tab | TripStory |
tripstory.partners.invite | Session storage | This site only | Keeps a partner invite while you sign in. | The invite token. | this tab | TripStory |
tripstory.partners.welcomed.… | Local storage | This site only | Remembers that you saw the partner welcome. | The value 1. | until you clear your browser data | TripStory |
tripstory.consentOutbox | Local storage | This site only | Holds a privacy choice until our records have it. | The choice, removed once sent. | until it is sent | TripStory |
tripstory-handoff | IndexedDB | This site only | Carries the photos you dropped on the website into the app. | Your photos, for an hour at most. | 1 hour | TripStory |
firebaseLocalStorageDb | IndexedDB | This site only | Keeps you signed in (Google Firebase). | Sign-in tokens. | until you sign out | Google Firebase |
firebase-heartbeat-database | IndexedDB | This site only | Firebase’s record of its own software versions, sent to Google with sign-in requests. | Dates and version numbers, no ID. | the last 30 days of use | Google Firebase |
__sak | Local storage | This site only | Firebase checks that storage works, then removes it. | Nothing. | removed at once | Google Firebase |
firebase:authUser:… | Local storage | This site only | Keeps you signed in (Google Firebase) where your browser can’t use its database storage. | Sign-in tokens. | until you sign out | Google Firebase |
undefined… | Paddle’s cookies and storage | This site only | Runs Paddle’s checkout and its fraud checks when you pay, only on our checkout pages, and only where Paddle takes the payment. | Paddle’s checkout session. | Paddle’s own | Paddle |
Our own statistics
Which pages and features are used, how fast pages load and where something breaks, using a random ID in the ts_mid cookie that lasts 12 months and is never extended. While you’re signed in, these statistics are linked to your account. They stay with TripStory and are never used for ads.
| Name | Type | Where | What it’s for | What it holds | How long | Set by, shared with |
|---|---|---|---|---|---|---|
ts_mid | Cookie | All TripStory sites | Links your visits for our own statistics. | A random ID and when it was made. | 12 months | TripStory |
tripstory.session | Session storage | This site only | Groups one visit’s pages for our own statistics. | A random ID, and this visit’s campaign tags and referring site. | this tab | TripStory |
Which link brought you
Remembers the link you arrived through (a TripStory partner’s link, a campaign, or a journey page someone shared with you) for 30 to 90 days, so the right person is credited if you sign up. A click on a partner’s link is also counted in that partner’s click totals. A partner learns that an account joined through them and what it bought, never who you are. If you sign up, the link is recorded with your account.
| Name | Type | Where | What it’s for | What it holds | How long | Set by, shared with |
|---|---|---|---|---|---|---|
ts_ft | Cookie | All TripStory sites | Remembers how you first found TripStory, so sign-ups can be credited to campaigns. | The first page, the referring site and campaign tags. | 90 days | TripStory |
ts_ref | Cookie | All TripStory sites | Remembers the journey page that brought you, so its author’s sharing counts. | The journey’s address. | 30 days | TripStory |
ts_aff | Cookie | All TripStory sites | Remembers the TripStory partner link you opened, so the partner is credited if you sign up. | The partner’s code, which of their links, a tag they chose and when you clicked. | 30 days | TripStory · the partner, as totals |
tripstory.acquisition.… | Local storage | This site only | Remembers that how you found us was already recorded. | The answer. | until you clear your browser data | TripStory |
tripstory.partnerClaimed.… | Local storage | This site only | Remembers that a partner link was already handled. | The answer. | until you clear your browser data | TripStory |
What our own servers receive
These store nothing in your browser. They are how our own statistics, a partner’s click totals, a journey’s view count, the counts made before you choose and the records of your choices reach our servers, each only as described here.
| Request | What it’s for | What it sends |
|---|---|---|
/api/events | Our own statistics: page views, the features used, loading speed and errors, sent to our own servers. | The event, the kind of page, the random ID in ts_mid, and your account while you’re signed in. |
/api/events | Counts a click on a TripStory partner’s link in that partner’s click totals. | The partner’s code, which of their links, their tag and the kind of page, never who you are. |
/api/events/anon | Before you choose, and only then, we count visits, loading speed, errors, and how often this question is shown in daily totals. The count carries no ID and stores nothing in your browser, and it stops once you refuse our statistics or your browser sends Global Privacy Control or Do Not Track. | The kind of page, the language, the referring site’s domain and campaign tags, loading times in ranges, and whether an error happened. |
/api/public/trips/{slug}/view | Each journey page counts how many times it was opened, with no ID, so its author sees the number. | Nothing about you: one more view, and not even that if you refused our statistics. |
/api/consent | Keeps a record of each privacy choice, so we can show what you agreed to and that we respected what you refused. | Your answers, when, on which site and page, in which language, the kind of device (phone, tablet or computer), which version of this policy you saw, whether your browser sent a privacy signal, and a random consent ID. |
Each journey page counts how many times it was opened, with no ID, so its author sees the number. It isn’t counted if you refused our statistics or your browser sends Global Privacy Control or Do Not Track.
Counting visits without an ID
Before you choose, and only then, we count visits, loading speed, errors, and how often this question is shown in daily totals. The count carries no ID and stores nothing in your browser, and it stops once you refuse our statistics or your browser sends Global Privacy Control or Do Not Track.
Each count says only which kind of page (never its address), the language, the referring site’s domain and campaign tags, loading times rounded into ranges, and whether an error happened. We add them up as they arrive and keep only daily totals, for 25 months.
Services that load when you use a feature
These store nothing in your browser for us, but the company behind them sees your IP address. Photos on public profiles come through our own server, so Google does not see who looks at them; your own account photo, shown to you while you’re signed in, comes from Google.
| What | What they see | Their policy |
|---|---|---|
| Draws the maps on journey pages and in the website’s preview (OpenFreeMap). | OpenFreeMap sees your IP address and the map area. | OpenFreeMap |
| Shows photos and films, stored with Google Cloud (our processor). | Google sees your IP address. | Google Firebase |
| Shows account photos. On public profiles they come through our own server, so Google does not see who looks at them; your own photo, shown to you while you’re signed in, comes from Google. | Nothing stored. | |
| Google’s sign-in, only after you press "Continue with Google", or while you’re signed in. | Google sees your IP address and handles the sign-in under its own policy. | |
| The Google Photos import, only when you open it while signed in. | Google sees your IP address and the photos you pick. | |
| Paddle’s checkout, only on our checkout pages, and only where Paddle takes the payment. | Paddle handles the payment and its fraud checks under its own policy. | Paddle |
| Stripe’s checkout and billing pages, on Stripe’s own site, after you press Pay or "Manage billing". | Nothing on our sites. | Stripe |
| Our emails go out through Resend. Open and click tracking are off, so they carry no tracking pixels or rewritten links. | Nothing in your browser. | Resend |
| Our fonts come from our own servers. | Nothing leaves. | TripStory |
Global Privacy Control and Do Not Track
If your browser sends either signal, we treat it as "Reject all" without asking, and Privacy choices shows "Opt-Out Request Honored". No partner is credited for your visit, and if you’re signed in we note the opt-out on your account. You can still turn things on in Privacy choices, for TripStory only. We do not sell or share personal information.
How long we remember your choice
6 months, whether you said yes or no. We ask again after that, or sooner only if something changes in a way that matters for a part you answered, and then only about that part. Safari may keep the choice for 7 days only if our server can’t confirm it; then it asks sooner.
Records of your choice
Each time you choose, we keep what you chose and where (the question, Privacy choices or a browser signal), when (by our clock and by your device’s), on which TripStory site and which kind of page, in which language, which version of this policy you saw and which of our counting settings were on, the kind of device (phone, tablet or computer, worked out from your browser’s user agent, which itself isn’t kept), and whether your browser sent Global Privacy Control or Do Not Track, with a random consent ID that Privacy choices shows you. The record itself has no name, email, IP address or account, and our server logs don’t keep the IP address of these requests. If you allow "Which link brought you" and then sign up, we note that consent ID with your account, to show the credit was allowed. Why we keep it: the law asks us to be able to show what you agreed to, and that we respected what you refused. We use it only for that, and for daily totals of how people answer (never per person). We keep it for 5 years after the choice ends, then delete it. Write to hello@tripstory.fun with your consent ID to see yours or to ask us to delete it.
Blocking or clearing cookies
TripStory works with cookies blocked or cleared; we’ll simply ask again. Clearing site data also removes a choice, so the question comes back.
Children
Everything optional is off for everyone by default, whatever their age. TripStory isn’t meant for children under 13.
Your rights and who is responsible
TripStory (hello@tripstory.fun) is responsible for this data. Allowing optional cookies is voluntary: there is no legal duty to agree, and refusing changes nothing you can do in TripStory. You can ask to see, correct or delete your data at hello@tripstory.fun.
California
Through these technologies we collect identifiers (the random IDs above) and internet activity (the pages and features you use), only as described here. We do not sell or share personal information, and we honour Global Privacy Control as an opt-out.
Changes to this policy
- Version 2, September 30, 2026: The policy now also lists the film’s caption and audio description settings, Firebase’s fallback storage for sign-in and every request to our own servers, and says that a click on a partner’s link is counted in that partner’s click totals.
- Version 1, September 29, 2026: TripStory now asks before keeping its own statistics or remembering which link brought you.
Complaints
You can complain to your data protection authority: in the EU your national authority, in the UK the ICO, in Israel the Privacy Protection Authority, in California the California Privacy Protection Agency or the Attorney General.