Privacy Policy

Last updated:

CruiseBuddy is a cruise planner published by Owl Media. It is available as a web app at app.cruise-buddy.app, which you can install on your home screen from your browser. This policy explains what information CruiseBuddy and this website collect, what we can and cannot see, and how to contact us about your data.

Summary

Your account

When you create an account we store your email address, the name you give us, and when the account was created. You sign in with a link we email to you, so there is no password. Sign-in emails are sent through our email provider, Resend, which processes your email address to deliver them. Each sign-in link can be used once and expires shortly after it is sent.

To keep you signed in, we store a session token in a secure cookie that is only sent to our servers. With each session we record the type of device and a one-way hash of the IP address it signed in from, which helps us detect misuse without storing the address itself.

We also keep a list of the devices on your account, with the type of device, an optional label and when each was last seen, so that you can review them and remove one you no longer use.

End-to-end encrypted sync

Everything you add about a cruise is encrypted in your browser or on your phone before it is sent to us, with a key that is created on your device and never reaches our servers in a form we can open. That includes itinerary days, excursions, notes, packing and to-do lists, reminders, people and their details, payments, spending, travel bookings, journal entries, documents and photos.

Your key is protected by a recovery code, which we show you once when you set up sync, and optionally by a passphrase you choose. We store only versions of your key that are locked with those. Because we cannot unlock them, we cannot read your plans and we cannot restore them if you lose your recovery code.

Encryption hides what your records say, but not everything about them. Our servers can see the type of each record (for example, that it is a journal entry or a document), roughly how large it is, when it was created or changed, which device sent it, and the IP address it came from. We use this only to run the sync service.

Cruise details we can read

For each cruise you add while signed in, we store the ship name, cruise line, departure date and return date without end-to-end encryption. We need these to apply the free plan’s limit of two upcoming cruises, to link a cruise to access that a travel agent has arranged, and to match a cruise to ship information. Nothing else about the cruise, such as your cabin, booking reference, ports or the people travelling, is readable by us.

Documents, photos and files

CruiseBuddy only uses the files you choose to add. If your account syncs files, each file is encrypted on your device before upload, and the encrypted file is kept in cloud object storage provided by Cloudflare. We record each file’s size and which record it belongs to, but we cannot open it. When you delete the record a file belongs to, the file is deleted from storage too.

If you open, download or share a file from CruiseBuddy, your browser, your device’s operating system or the app you choose receives the file so it can display, save or send it.

Data kept on your device

The web app keeps a readable copy of your cruises in your browser’s storage so that it works offline, protected by your device and browser in the same way as other website data. Signing out, or locking the browser from Settings, deletes that copy and the key. The web app also locks itself after seven days without use, unless it is holding changes that have not synced yet. Your browser may also clear this storage, for example if you clear website data. Your plans remain in your account and return when you sign in and enter your recovery code. Please sign out when you have finished on a computer you share.

Payments

Cruise Buddy Plus is bought through Stripe Checkout. You enter your payment details on Stripe’s page, and Stripe processes them under its own privacy policy. We pass your email address to Stripe so it can send your receipt.

From Stripe we receive and store a record of the payment: its Stripe reference, amount, currency, status and a Stripe customer reference. We never receive or store your card number. We keep payment records after an account is deleted, because we are required to keep financial records and may need them to handle a refund or dispute.

Encrypted cruise sharing

When you share a cruise, CruiseBuddy generates a new encryption key on your device and encrypts the shared cruise with it using AES-256-GCM. Only the encrypted result is sent to our share service at https://cruise-buddy.app. The key is part of the link itself and is never sent to us, so only people you give the link to can read the cruise.

The share service stores the encrypted bundle, the information needed to decrypt and verify it once someone has the key, and an expiry time. Shared cruises are deleted automatically when they expire, at most 30 days after they are created. Links made in the web app expire after seven days.

A traveller share may include cruise details, itinerary days, excursions, packing and to-do lists, notes, reminders, spending, cruise payments, hotels, flights, parking, car hire and travel additions. A follower share is more limited and includes core cruise and itinerary details. Shares never include attached documents, journal photos, people records, passport details, insurance details, allergies or medical notes.

Anyone with the complete link can read and import the shared cruise until it expires or is deleted, so please only send it to people you trust.

Travel agents

If a travel agent includes CruiseBuddy access with your booking, they give you a code to claim it. The agent can see whether the code has been claimed. They cannot read your plans.

Reminders and notifications

In the web app, if you allow notifications, your browser registers with its push service (run by Apple, Google, Mozilla or Microsoft, depending on your browser) and gives us an address to send notifications to. For each reminder we store only an identifier and the time it is due. At that time we send an empty notification, and the web app on your device reads the reminder and shows it. The push service and our servers never see what your reminders say.

Location, maps, weather and flights

To show weather and sea conditions, CruiseBuddy sends the name, country and coordinates of the ports on your itinerary to our server, which looks up forecasts from Open-Meteo. To help you find a port or place, the text you search for is sent to our server and looked up with Photon, a location search service. To show live flight status, the flight number and date are sent to our server and looked up with AeroDataBox. These services receive the request from our server, not from your device, and we use it only to answer you.

Maps in the web app are loaded from OpenStreetMap’s tile servers, which receive your IP address and the area of the map being shown.

If you choose to record where a journal entry happened, the location is stored inside that encrypted entry. If you use your current location, your browser asks for permission first.

Service logs and security

Like most online services, our servers record requests so we can keep CruiseBuddy running, fix problems and stop abuse, such as repeated sign-in attempts. These records include the time, the part of the service used, the result and a one-way hash of the IP address. Our hosting provider and Cloudflare, which protects our servers, also process your IP address to deliver the service.

Support and communications

If you contact us for support, feedback, bug reports or privacy questions, we receive whatever you choose to include, such as your email address, screenshots, diagnostic details or a description of the issue. We use it to reply to you, investigate the request and improve CruiseBuddy. We will not ask you for your recovery code, and you should never share it.

You can also contact support from inside the web app. A request raised there is stored with your account: your message, our replies, the category you chose, and any files you attach. If you tick the box to include diagnostic information, we also store the text shown to you at that point, which describes the app and your browser and none of your cruises, people or documents.

Support requests are not end-to-end encrypted. Unlike your cruise plans, we can read what you write to support and open the files you attach, because that is how we help you. Attached files are kept in cloud object storage provided by Cloudflare.

If you cannot sign in, you can use the contact form instead. We store the email address, name and message you enter, and email that address a private link to the request. Anyone who has the link can read and reply to that request, so keep the email to yourself. A request sent this way is not linked to an account, even if the address matches one.

The contact form is protected by Cloudflare Turnstile, which checks that a form is being filled in by a person and not a script. To do that, Cloudflare processes your IP address and technical details about your browser and device when you open the form. We receive only its answer. Turnstile runs on this website’s contact page and nowhere in the web app.

We email you when your request is received and when we reply, through our email provider, Resend. These emails say that there is something to read and link to it. They do not contain what you or we wrote.

Website analytics

This marketing website uses Umami-based analytics hosted at stats.codenameowl.com. It records aggregated, anonymous data such as page views, referrer and approximate country. It does not use cookies, fingerprint your device or share data with advertisers.

The CruiseBuddy web app offers optional, first-party usage analytics. We ask your permission before creating a random browser identifier or sending any analytics. If you accept, we record fixed page and section names, session activity, and time spent actively using the app. We do not include account details, cruise identifiers, share codes, your plans, document contents, IP addresses or browser fingerprints in these records. Reports are available only to our administrators and are kept for up to 365 days. You can turn analytics off in Settings at any time; this stops collection and removes the identifier from this browser. Previously collected records expire under the same retention policy. If browser storage is unavailable, the identifier lasts only for the current page and repeat visits cannot be recognised.

Cookies and browser storage

This website does not set cookies. The web app sets one essential cookie to keep you signed in, and stores your encrypted cruises and settings in your browser’s storage so it works offline. Neither is used for advertising. With your permission, the web app also stores the optional analytics browser identifier and your analytics preference.

How long we keep data

Your rights

If you live in the UK, the EU or another region with similar data protection laws, you have rights to access, correct or delete personal data we hold about you, and to object to certain processing. You can delete your account from Settings in the web app, or email us. Because your cruise plans are end-to-end encrypted, we can provide or delete them, but we cannot read or correct them for you.

Children

CruiseBuddy is intended for adults planning cruises and is not directed at children under 13. We do not knowingly collect personal information from children.

Changes to this policy

We may update this policy as CruiseBuddy changes. When we do, we will update the “last updated” date at the top of this page.

Contact

CruiseBuddy is published by Owl Media. For privacy questions, email [email protected]. For general support, contact support.