Privacy Policy
Effective date: October 17, 2026
1. Introduction
Welcome to tripcode ("we", "us", or "our"). tripcode is a product of zhakura studio GmbH, a company registered in Switzerland (commercial register no. CHE-248.204.588) with its registered office at Winzerhalde 109, 8049 Zürich, Switzerland. zhakura studio GmbH is the data controller responsible for the personal data described in this policy. We operate the tripcode mobile application and website (collectively, the "Service"). This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our Service.
By accessing or using the Service, you agree to this Privacy Policy. If you do not agree with the terms of this Privacy Policy, please do not access the Service.
2. Information We Collect
Account Information
When you create an account, we collect your email address, name, username, profile photo, travel style preferences, interest tags, and biographical information you choose to provide. You may also choose to add social-media links, your home city and country (we convert the city into approximate map coordinates through our geocoding provider and use your home country, currency and location to tailor trip suggestions and defaults), and your gender. Your gender is optional and is not shown to other users.
During account setup we also collect your date of birth. We use your date of birth for the following purposes:
- Age verification. To confirm you meet the 18+ requirement set out in our Terms.
- Trip matching. When a trip host sets a participant age range on their trip, we may use your computed age (whole years) to determine whether and how prominently the trip is shown to you. We do not share your date of birth with the host.
- Optional profile display. Your age is hidden from other users by default. You may opt in from Settings to display your age (in whole years) on your public profile. Your full date of birth is never displayed to other users — only the computed age, and only with your explicit opt-in.
The legal bases for this processing are the performance of our contract with you (the Terms), our legitimate interest in matching travellers to suitable trips, and — for the optional profile display — your consent, which you can withdraw at any time by toggling the setting off.
Trip Information You Set as a Host
When you create a trip, you may set a preferred participant age range. This range is shown publicly on the trip page so prospective participants can self-select. The age range reflects your preference for the trip and is not derived from any individual user's date of birth.
For trips you have set to public, we display the trip's title, destination, dates, and your first-letter avatar on our public marketing pages (e.g. tripcode.io). This metadata contains no third-party personal data and is licensed to us under our Terms.
Your uploaded cover image is handled separately because it may depict identifiable people. Each time you upload a cover image, we ask you to confirm — with an on-screen notice and prompt at the moment of upload — that you have permission to publish that photo, including any identifiable people in it. A trip cover may appear on our public marketing pages (for example, tripcode.io) once it has been uploaded; only images served from our own approved image hosts are eligible to be shown there. If anyone identifiable in your cover image objects to its display, they (or you) can request removal directly from each card or by emailing hello@tripcode.io; we action removal requests within a reasonable timeframe. Cover images uploaded before this per-upload confirmation was introduced are treated as attested as of that change.
Waitlist Information
If you sign up for our waitlist via the landing page, we collect your email address, the source of your submission, the campaign parameters of the link you used (for example UTM tags) and any referral code.
Trip & Travel Data
When you create or join trips, we collect trip destinations, dates, itineraries, trip status, participant lists, and related planning details.
Social Content
We collect content you post through the Service, including chat messages, trip reviews, ratings, and photos you share in trip albums, group chats, and direct messages.
Financial Data
If you use the expense tracking feature, we collect expense descriptions, amounts, and split details. tripcode does not directly process payments between users.
Purchase & Subscription Data
If you buy a subscription (tripcode Premium or Pro) or a paid tripcode, the purchase is processed as an in-app purchase by Apple (App Store) or Google (Google Play) and managed on our side through RevenueCat. We receive confirmation of the purchase and your resulting subscription or entitlement status; we do not receive or store your full card number. If you are a tripcode creator who receives payouts, those payments are processed by Stripe via Stripe Connect, and Stripe handles your payout and tax-identification data directly.
Device & Usage Data
When you enable push notifications, we store your device's push notification token and its platform (iOS or Android) so we can deliver notifications to you. We do not integrate any third-party analytics, advertising, or crash-reporting SDKs, and we do not track your activity across other companies' apps or websites.
Booking attribution. When you are signed in and open a trip in the tripcode app, on tripcode.io or on a tour operator's tripcode site, we record which trip you opened, where you opened it (app or website), the page address including any link parameters, the website that referred you (domain only) and any campaign parameters, linked to your account. We use this to attribute bookings to tour operators correctly. We do not record this for visitors who are not signed in. These records are deleted about 90 days after your last visit to that trip. If you then book the trip, the attribution details are kept with the booking record (see Data Retention).
Security logs. To prevent abuse we temporarily record the IP address of booking attempts on our website (removed once older than one hour, at the next booking attempt) and of sign-in attempts by connected AI assistants (for rate limiting). Our hosting providers (Supabase, Cloudflare) also log request data, including IP addresses, for security and operations; we retain access to these logs for about 30 days.
With your permission, tripcode accesses your device camera and photo library so you can take or choose a photo — for your profile picture, a trip cover image, or a photo shared in a trip album, group chat, or direct message. Access happens only at the moment you take or select a photo; we do not access the camera or your library in the background, and only the photos you choose to upload are sent to us.
Cookies & Local Storage
tripcode does not use cookies — not on our website, on tour operators' tripcode sites, or in our web app. We store information on your device only where it is needed for something you asked for:
- Sign-in session — when you sign in on the web (in the web app, when booking a trip, or when connecting an AI assistant), your session is kept in your browser's local storage so you stay signed in until you sign out.
- Your settings and drafts — for example your light or dark theme, the map view, unfinished trip drafts, and a referral code from a link you followed, so the site remembers them.
- Display performance — our homepage remembers how smoothly your device runs the 3D globe and which globe journey it showed last, so it can choose a suitable animation.
We do not store anything on your device for analytics, advertising, or tracking. To credit a booking to the tour operator page that led to it, campaign and referrer details are carried in the page links themselves, not stored on your device. You can delete this information at any time in your browser settings.
Authentication Data
If you sign in using Sign in with Apple or Sign in with Google, we receive the email address (or relay address, in the case of Apple's private email relay) and the name and profile information you have authorised that provider to share. We do not receive your password.
Sensitive Data
Some of the information you share through tripcode warrants particular care. We treat the following as sensitive and apply heightened safeguards (Row-Level Security, narrow access, transport encryption):
- Location data — trip destinations, geographic coordinates of trips you create or join, place names you add to itineraries, and the approximate coordinates of your home city if you add one. tripcode does not collect background or live device location. When you use the map or set an expense currency, the app may read your current location once on your device; it is not stored by us (to pick a currency, your device's operating system converts it into a country). If you submit a photo to complete a quest, we read the capture time and location embedded in that photo and store them with the result of the check.
- Photos — images you upload to trip albums, or take with your camera or choose from your photo library to share in a group chat or direct message. In the app, album and group-chat photos are shown only to participants of that trip, and direct-message photos only to you and the recipient. The image files are stored at long, unguessable web addresses; anyone who obtains such an address could open the image. Photos taken or chosen in our mobile apps for chats and albums are re-encoded before upload, which in normal operation removes embedded location metadata; photos uploaded through our website may still contain it.
- Chat messages — direct and group messages exchanged with other trip participants. Messages are stored on our infrastructure to enable delivery and history; they are not end-to-end encrypted.
3. How We Use Your Information
We use the information we collect to:
- Create and manage your account
- Provide, maintain, and improve the Service
- Facilitate trip discovery, creation, and collaborative planning
- Enable communication between trip participants via in-app chat
- Send push notifications about trip updates, applications, and messages
- Send waitlist and service-related email communications
- Track and display trip expenses among participants
- Display user profiles, reviews, and reputation within the community
- Monitor and analyse usage trends to improve the Service
- Attribute bookings to the tour operators whose pages led to them
- Detect, prevent, and address fraud or security issues
Legal bases
Where the EU General Data Protection Regulation (GDPR) applies, we rely on the following legal bases for each purpose:
- Performance of our contract with you (Art. 6(1)(b) GDPR): creating and running your account and profile, including checking that you are 18 or older; trip discovery, creation, applications and planning; chat and direct messages; photos and documents you share; shared expenses; bookings with tour operators; subscriptions and in-app purchases; payouts to tripcode creators; push notifications and service emails; and AI features you start yourself.
- Your consent (Art. 6(1)(a) GDPR): the optional display of your age on your profile, and your waitlist sign-up and waitlist emails. You can withdraw your consent at any time, without affecting processing that took place before.
- Our legitimate interests (Art. 6(1)(f) GDPR): matching travellers to suitable trips; showing public trips and their cover images on our public pages; attributing bookings to the tour operators whose pages led to them; preventing fraud, abuse and security incidents; and answering feedback and support requests. You can object to this processing (see "Your Rights & Choices").
- Legal obligations (Art. 6(1)(c) GDPR): keeping booking, payment and payout records for accounting and tax purposes, and answering lawful requests from authorities.
4. How We Share Your Information
With Other Users
Your profile information, trip activity, reviews, chat messages, and shared photos are visible to other trip participants and, where applicable, the broader tripcode community. Your profile name, photo, and travel style may be visible to other users browsing trips.
With Service Providers
We share information with third-party service providers that help us operate the Service. Personal data is stored primarily in the European Union (see "International Data Transfers" below); some providers are located in, or transfer data to, other countries, for which we apply the safeguards described in that section. Our providers include:
- Supabase — database hosting, authentication, and real-time infrastructure. Your data is stored in the EU (Ireland) region.
- Expo (USA) — push notification delivery (relayed to Apple and Google push services)
- Resend (USA / EU) — transactional email: account and booking emails (confirmations, approvals, refunds), inquiry emails a trip host sends to hotels or vendors through tripcode and the replies to them, feedback acknowledgements and notifications of new feedback to our team, and waitlist messages
- Mapbox (USA) — geocoding of destinations and itinerary place names you enter (converting the location text you type into map coordinates)
- Unsplash (USA) — stock destination imagery; we send the destination or place name as a search query, and your browser loads the images directly from Unsplash, which receives your IP address
- Anthropic (USA) — AI-assisted features such as trip and itinerary generation and quest photo checks; receives the trip details or prompt text you submit to those features, or the photo you submit for a quest (the photo is not stored afterwards)
- RevenueCat (USA) — management of in-app subscriptions and purchases; receives your tripcode account identifier and purchase/receipt data
- Stripe (USA / EU) — payments for trips booked with tour operators (including the name and email address of guests who book without an account) and payouts to tour operators and tripcode creators via Stripe Connect
- Cloudflare (USA) — content delivery and hosting for our website and public pages, the connection endpoint for AI assistants, and bot protection (Turnstile) on our feedback form
- GitHub (USA) — hosting of our source code; feedback you send us through the website (text, contact email and any screenshot) is filed as an issue in our private repository once we have reviewed it
- Open-Meteo — weather forecasts for trip locations; receives the trip's coordinates
- Map tile and data providers (OpenFreeMap, OpenStreetMap, CARTO) — map images on our website; receive the visible map area and your IP address
- Currency rate and space-weather services (open.er-api.com, Frankfurter, NOAA) — exchange rates and aurora forecasts; receive only currency codes and your IP address
- Link previews — when you paste a link (for example to Instagram, TikTok or YouTube) into a chat or trip, our servers fetch that page to show a preview; the site sees our servers, not you
- esm.sh — delivers a software library used by some pages of our website; receives your IP address
- Apple Inc. — Sign in with Apple authentication and, for subscriptions and in-app purchases, App Store purchase processing
- Google LLC — Sign in with Google authentication, Google Play in-app purchase processing, push notification delivery to Android devices (Firebase Cloud Messaging), and map rendering on Android devices
- Apple Maps — map rendering on iOS devices
- Prighter EU Rep GmbH (Schellinggasse 3/10, 1010 Vienna, Austria) — our EU/EEA GDPR representative (Art. 27); receives and forwards data subject and authority requests, and receives the contents of requests submitted through the Prighter portal, and technical data of visitors (such as the IP address) when our pages display Prighter's certificate badge
With Connected Applications (AI Assistants)
You can connect third-party AI assistants (such as Claude, ChatGPT, or Gemini) to your tripcode account. Connecting is always initiated by you, through a secure sign-in and consent screen, and you choose what the assistant may do based on the permissions (scopes) you grant. Any data the assistant reads or writes under these permissions is transmitted to that assistant's provider. The available permissions are:
- Read your trips (
trips:read) — searching and reading trip details, itineraries, participant lists, and per-day notes already visible to you in the app - Manage your trips (
trips:write) — creating and editing trips, itinerary items, and day notes on your behalf - Read your expenses (
expenses:read) — reading shared trip expenses and balances on trips you are part of - Manage your expenses (
expenses:write) — adding, editing, and deleting shared trip expenses - Manage trip applications (
applications:write) — applying to or withdrawing from trips, and responding to applications on trips you host - Read your activity (
activity:read) — reading your activity feed and updates - Read your profile (
profile:read) — reading your profile information - Manage your profile (
profile:write) — editing your profile information - Manage your packing lists (
packing:write) — adding, editing, and removing items on your trip packing lists
You grant only the permissions you choose, and an assistant can act only within the scopes you approve. A connected assistant acts as you, and can only access data you could already access yourself — the same Row-Level Security rules that protect your account in the app apply to it. We never share your tripcode password with the assistant. Information you send to, or that is retrieved by, a connected assistant is then handled under that assistant provider's own privacy policy and terms, which are outside tripcode's control.
You can review your connected applications and disconnect any of them at any time in Settings → Connected apps. Disconnecting immediately revokes that assistant's access.
For Legal Compliance
We may disclose your information if required to do so by law, in response to a court order or subpoena, or to protect our rights, property, or safety, or that of our users or others.
We Do Not Sell Your Data
We do not sell, rent, or trade your personal information to third parties for marketing purposes.
5. Data Storage & Security
Your data is stored on secure cloud infrastructure provided by Supabase, in the European Union (Ireland region). We implement industry-standard security measures including:
- Row-Level Security (RLS) enabled on all database tables to restrict which records each user can access
- Encrypted authentication using JSON Web Tokens (JWT)
- Secure HTTPS connections for all data transmission
- Server-side JWT verification for all authenticated requests
While we strive to use commercially acceptable means to protect your personal information, no method of transmission over the Internet or electronic storage is 100% secure. We cannot guarantee absolute security.
6. Breach Notification
If we become aware of a personal data breach that is likely to result in a high risk to your rights and freedoms, we will notify affected users without undue delay and, where feasible, no later than 72 hours after becoming aware of it. Where required, we will also notify the competent supervisory authority within the same timeframe (revFADP Art. 24, GDPR Art. 33–34).
Notifications will be sent to the email address associated with your account and, where appropriate, surfaced inside the app. They will include the nature of the breach, the categories of data affected, the likely consequences, and the measures taken or proposed to address it.
7. Your Rights & Choices
Depending on your location, you may have the following rights under applicable data protection laws, including the Swiss Federal Act on Data Protection (revFADP, in force from 1 September 2023), the EU/EEA General Data Protection Regulation (GDPR), and the California Consumer Privacy Act (CCPA):
- Access: You have the right to request a copy of the personal data we hold about you.
- Correction: You have the right to request correction of inaccurate or incomplete personal data.
- Deletion: You have the right to request deletion of your personal data. You can delete your account through the app settings, or contact us to request deletion.
- Data Portability: You have the right to receive your personal data in a structured, commonly used, and machine-readable format, and to transmit that data to another controller.
- Restriction of Processing: You have the right to request that we restrict the processing of your personal data under certain circumstances.
- Objection: You have the right to object to the processing of your personal data where we rely on legitimate interests as the legal basis.
- Withdraw Consent: Where processing is based on your consent, you have the right to withdraw that consent at any time without affecting the lawfulness of prior processing.
- Lodge a Complaint: You have the right to lodge a complaint with a data protection supervisory authority. In Switzerland this is the Federal Data Protection and Information Commissioner (FDPIC, www.edoeb.admin.ch). If you are in the EU/EEA, you may complain to the supervisory authority in your country of residence or place of work.
- Notifications: You can manage your push notification preferences in your device settings and within the app.
- Waitlist: You can unsubscribe from waitlist communications at any time by contacting us.
For California Residents (CCPA)
If you are a California resident, you have the right to: (1) know what personal information we collect, use, and disclose; (2) request deletion of your personal information; (3) opt out of the sale of your personal information — we do not sell your personal information; and (4) not be discriminated against for exercising your privacy rights.
To exercise any of these rights, you may contact us at hello@tripcode.io. We will respond to your request within the timeframe required by applicable law.
8. Data Retention
We keep personal data only for as long as we need it for the purposes described in this policy, after which we delete or anonymise it. The main retention periods are:
- Account & profile data (including email, name, profile photo, date of birth, and preferences) — kept while your account is active. When you delete your account, your account is removed from our database after a 30-day grace period during which the deletion can be reversed.
- Content you create (chat and direct messages, trip albums, trips, itineraries, and reviews) — deleted from our database together with your account in the same window. Shared expense entries you recorded on someone else's trip remain visible to the other participants without your name. Photo and document files you uploaded are removed from file storage in the same step, along with the files in your direct conversations and on trips you hosted. Waitlist and feedback entries made with your email address are deleted too.
- Push notification tokens — kept until you sign out, delete your account, or the token stops being valid (for example after you uninstall the app).
- Backups — our database provider keeps daily backups for about 8 days; deleted data can remain in them until they expire.
- Waitlist email addresses — kept until you unsubscribe or we notify you that the Service has launched, and in any event no longer than 24 months.
- Feedback and support messages — kept for up to 24 months after you send them, and deleted earlier together with your account.
- Inquiry emails (messages between a trip host or tour operator and hotels, venues, or other vendors) — kept until 12 months after the trip ends, and deleted together with the trip or the operator account.
- Business contacts (tour operators and vendors we contact, or who apply to work with us) — kept for up to 24 months after our last contact; declined applications for 12 months.
- Privacy requests — records of requests to exercise your rights, and our answers, are kept for 3 years after the request is closed, so we can show how it was handled.
- Billing and transaction records — where we are legally required to keep accounting records (for example, under Swiss commercial law), we retain the necessary invoice and transaction data for up to 10 years, even after account deletion. These records are limited to what the law requires.
- Booking records — bookings with tour operators, including the attribution details recorded when the booking was made (see Booking attribution), are kept with the billing and transaction records.
We may retain limited information for longer where necessary to comply with a legal obligation, resolve a dispute, or enforce our agreements.
9. Children's Privacy
The Service is not intended for use by anyone under the age of 18. We do not knowingly collect personal information from children under 18. If we become aware that we have collected personal information from a child under 18, we will take steps to delete that information promptly.
10. International Data Transfers
tripcode is operated by zhakura studio GmbH, based in Zürich, Switzerland. Your personal data is stored and processed primarily in the European Union (Supabase, Ireland region).
Transfers of personal data between Switzerland and the European Economic Area (EEA) are covered by mutual adequacy: the EU recognises Switzerland as providing an adequate level of data protection, and Switzerland recognises the EEA.
Some of our service providers (see "How We Share Your Information") are located in, or transfer data to, countries outside Switzerland and the EEA, including the United States. Where personal data is transferred to such a country, we rely on appropriate safeguards under applicable data protection law — in particular the European Commission's Standard Contractual Clauses (together with the Swiss addendum recognised by the FDPIC) and, where the provider is certified, the EU–U.S. Data Privacy Framework and its Swiss extension. You can request more information about these safeguards using the contact details below.
11. Beta Service & Data Handling
tripcode is currently offered as a beta service while we finalise the platform. As the Service evolves we may migrate or restructure data, but we will not intentionally delete your user-generated content (trips, photos, chat history, reviews) without first notifying you by email and/or in-app message. Routine schema or infrastructure changes that do not affect your content are made without prior notice.
12. Changes to This Policy
We may update this Privacy Policy from time to time. We will notify you of any material changes by posting the new Privacy Policy on this page and updating the "Effective date" above. We encourage you to review this Privacy Policy periodically for any changes.
13. Contact Us
If you have any questions about this Privacy Policy, or wish to exercise your rights, please contact the data controller:
zhakura studio GmbH
Winzerhalde 109
8049 Zürich, Switzerland
hello@tripcode.io
Representative
We value your privacy and your rights as a data subject and have therefore appointed Prighter Group with its local partners as our privacy representative and your point of contact for the following regions:
- European Union (EU) and European Economic Area (EEA)
Prighter gives you an easy way to exercise your privacy-related rights (e.g. requests to access or erase personal data). If you want to contact us via our representative, Prighter or make use of your data subject rights, please visit the following website: https://app.prighter.com/portal/15346922624