The short version
Rucksack Roamer plans your trip on your own device. There is no analytics, no tracking, no advertising, no affiliate tagging, and nothing is sold or shared with anyone. Today the app has no accounts at all, so there is nothing on our servers that belongs to you.
What is stored, and where
On your device only
Your trip inputs, generated itineraries, packing check-offs, your chosen
colour palette and any expenses you log are held in your browser's own
storage (IndexedDB and localStorage). They never leave the
device unless you explicitly export a file, use a share link, or send
something from the Feedback screen — all three are things you press a
button to do, described below.
Clearing your browser data deletes all of it, permanently, with no copy anywhere else. That is the trade for it being private — use the export button on the Saved screen if you want a backup you control.
On our servers
Nothing that identifies you. The API answers planning requests and returns exchange rates. It does not require an account, does not set a tracking cookie, and does not log requests to build a profile.
Feedback you send us
The Feedback screen is the one place in this app where something you typed can leave your device — and only when you press one of the buttons on it. Nothing is sent in the background, and there is no send-on-blur, no draft sync, no telemetry attached to it.
- Send it emails the report to a mailbox we read. It is not published anywhere. It travels through our email provider, Resend, which handles the delivery and can see the message in doing so. If the send fails, the screen tells you it failed — it will never show you a thank-you for something that did not arrive.
- Copy the report puts the text on your clipboard and sends it precisely nowhere.
Reports used to open a public GitHub issue. They no longer do, and that route has been removed — asking someone to publish their itinerary to a search-indexed repository in order to tell us a price looked wrong was the wrong trade. Issues opened under the old route are still public and we cannot unpublish them.
There is an optional box for your email address, used for one thing: replying to that report. It is not an account, it is not added to any list, and if you leave it blank the report is anonymous and still gets read.
The report includes the app version, the seed data version, which screen you were on, your browser and window size, and whether you were online — the things that make a bug reproducible. It includes the trip you are planning only if you tick the box, which is off by default. Whatever the report contains, the whole thing is shown to you in full on that screen before either button does anything.
There is a test in this repository that fails the build if a value reaches the report without being rendered in the panel you read. The promise on that screen — "nothing is attached that is not shown here" — is mechanically enforced rather than merely intended.
Accounts — not yet built
Accounts will exist for one reason: the app calls paid third-party APIs for live prices, and without a sign-up those costs can be run up by anyone. When they arrive we will store:
- Your name — what to call you.
- Your email address — to send the sign-in link, and nothing else. No marketing, no newsletter.
- Your saved itineraries and expenses, so a reinstall doesn't lose them.
A name and an email address are personal data under UK GDPR. Our lawful basis is legitimate interest — running the account you asked for and preventing cost abuse. You will be able to delete your account from within the app, and deletion will remove every row keyed to you, not merely hide them. There is a test in this repository that fails the build if any table holding user data escapes that deletion.
What we deliberately do not do
| Analytics of any kind | no |
| Third-party trackers or pixels | no |
| Advertising | no |
| Affiliate tags on the links out to sellers | no |
| Selling or sharing data with anyone | no |
| Cookies, beyond a sign-in session once accounts exist | no |
| Profiling or automated decisions about you | no |
The affiliate line is a deliberate choice, not an oversight. This app recommends routes; the moment a link could pay us, you would be right to wonder whether that changed the recommendation. There is a test that fails the build if a tracking parameter appears on any outbound link.
Leaving the site
Rucksack Roamer is a planner, not a booking engine. When you click through to Skyscanner, Booking.com, Trainline or anyone else, you are on their site under their privacy policy, and we have no visibility of what you do there.
Where it runs
The app is served by Cloudflare, which processes the network requests needed to deliver a website — including your IP address — as part of serving and protecting the site. We do not add our own logging on top of that.
Your rights
Under UK GDPR you can ask what we hold about you, ask for it to be corrected or erased, and complain to the Information Commissioner's Office. Today, if you have not created an account, the answer to "what do you hold about me" is nothing — the data is on your device and only you can reach it.
Contact
Questions about any of this: raise an issue on the project repository, or use the contact address published on the site once accounts are live.