Privacy notice (full)
Version 1.3.2Effective 14 October 2026Last updated: 28 October 2026
This document explains what personal data we process, why, who we share it with, and how to exercise your rights. It is written under the Mexican Federal Law on the Protection of Personal Data Held by Private Parties (LFPDPPP) in force since 21 March 2025.
1. Who is responsible for your data
Responsible party
- Data controller
- Miguel Quirós García (individual)
- Address
- Calle Pochutla, 3 Sector A, Local Comercial 2, Santa Cruz Huatulco, 70987 Crucecita
- Jurisdiction
- Oaxaca, México
- Phone
- +52 222 568 4801
- General contact
- contacto@huatulco.app
- Privacy and ARCO rights
- contacto@huatulco.app
- Support
- contacto@huatulco.app
Huatulco.app is a travel guide to Huatulco, Oaxaca, Mexico. Much of it works without an account.
2. What personal data we process
If you never sign in, almost nothing we store is linked to you. We record usage events — which screens and places were viewed, what was searched for, how many results came back — in a table that has no user column at all: it cannot technically be tied to a person. Those events carry a session identifier generated in your browser, held in sessionStorage, which dies when you close the tab. It does not follow you between visits.
What IS linked to your device, account or no account, is the record that you accepted the Terms and read this notice: which version, when, in which language, from which platform and app version, and a random identifier for that install that your browser generates and keeps so that you are not asked again (Cookies and device storage explains it). Whatever you accept while signed in is also linked to your account.
What you tell the welcome screen (language, dates, party size, interests) stays in your own device storage until you create an account. If you never create one, it never reaches us.
If you fill in a form, signed in or not, we process what you put in it:
- Business contact: your name, your business’s name, your phone or WhatsApp, your email if you give it, your message and the plan you were interested in.
- Feedback: your message, what it is about, the page you were on, and your email if you leave it so we can reply.
- Help, in the dashboard of a business you manage: the topic, your message and our reply, linked to your account and to the business. The other people who manage that business see them too.
- A reservation request from a business’s page: the date, the time, the party size, your name, your phone and your notes. No account is needed; if you are signed in, the request is linked to your account, so the business’s answer reaches you in the app. Who receives it is in section 7.
- Information about a property, in the investment section: your name, your email or phone and your message; if you are signed in, it is linked to your account. If you list a property: your name as the advertiser — which appears on the listing — your email or phone, and the property’s details.
- Requests about your data: what you ask for, anything you write in your request and, if you file it without an account, the email you leave us for the answer.
If you stay somewhere that uses our welcome tablet: the host keeps their bookings in Hospitable, and from there we receive your first name, how many of you there are, the dates of your stay and whether the booking still stands, so the tablet can greet you. Hospitable also sends us your surname, your email and your phone, and we do not keep those. We delete your stay 14 days after you check out.
If you create an account, we also process:
- Identification and contact data: your email address and password, handled by Supabase Auth. Passwords are stored hashed and we never see them. If you sign in with Google or Apple, we receive the basic details that account shares: your email — with Apple, if you choose, an Apple relay address instead of your own — and your name, if you share it. We offer Sign in with Apple, and when you use it Apple also gives us a token that we keep on our servers for one purpose only: to ask Apple, when you delete your account in the app, to remove the link between Huatulco.app and your Apple ID. We use it for nothing else, no screen shows it, and it is deleted with your account; of that unlinking we keep only whether Apple confirmed it, with nothing that identifies you. If instead you ask us to delete your account — with the Delete my account form or with a cancellation request — our team deletes it outside the app and that route does not send the token to Apple today: the token is deleted with the account, but the link may stay on your Apple ID until you remove it yourself, on your iPhone, in Settings → [your name] → Sign-In & Security → Sign in with Apple → our app → Delete.
- Profile: display name, username, avatar image, language and country, if you provide them.
- Your trips: the dates; how many of you are travelling and, if you note them, the children’s ages; your budget and interests; how you arrive and leave — airline, flight number, airport and times, if you note them; where you are staying — name, address if you give it, dates and, if you save them, the confirmation number and your notes; how you get around; your trip notes; your itineraries; and the bookings or purchases you log on the trip, with their confirmation numbers. If you share an itinerary, anyone with the link sees the plan and its dates, but not who you are.
- Dietary, accessibility or special-occasion notes for a trip, if you write them. These fields are optional, and what you put in them can reveal sensitive data, such as health data — an allergy, a wheelchair. We use them only to build your itineraries and answer you, which is why they travel to Google with the rest of your trip (section 7 and the AI notice).
- Your saved activity: favourite places and events, your nature life list, any hours or content reports you file, and anyone you have blocked.
- Reviews: what you write and the rating you give. A review is published on the place’s page together with your display name.
- AI concierge conversations: the messages you write and the model’s replies, plus technical details of each turn (model used, token counts, latency). Before anything is first sent to Google we ask your permission, and if you give it we record your permission linked to your account: which version of the notice, when, in which language and from which platform. Read the AI notice — this is the most sensitive part of all of it.
- Reservation requests from your trip: the date, the time, the party size, your notes and your phone if you give it. They are linked to your account and to that trip, and the business sees your profile’s display name (or “Huésped” if you have none).
- In-app purchases: transaction identifier, amount, currency and what you bought — the pass and its tier, or a concierge message top-up. Payment details never touch our servers — Apple or Google Play process them.
- Notifications on your phone, if you allow them in the app: that phone’s notification identifier (an Expo token), whether it is an iPhone or Android, the app version and the phone’s language, linked to your account; which notifications you turned on or off in Profile → Notifications, with the date you turned on the optional ones; and the record of the notifications we sent you.
- Clicks through to partner sites from your trip: when you follow a link to a booking site — a tour, a hotel — from your trip or your itinerary, we record the click together with that trip and that stop, so it is linked to your account. A click that does not come from a trip is linked to nobody; until late September 2026 we also stored the account on every click made while signed in, and those older records keep it until you delete your account.
- If you claim a business or work as a photographer: in the claim, your name, your phone and your role at the business; the link between your account and that business or photographer profile; and whatever you publish from it. If you handle a business’s reservations and turn on WhatsApp alerts, your WhatsApp number too.
Apart from those optional trip fields, no screen asks for sensitive personal data — health, ethnic origin, beliefs, sexual preference, biometrics. It could also reach us if you type it into a concierge conversation, a reservation note or a form, which is why we ask you not to unless you need to — and the AI notice asks you plainly not to for the concierge.
3. Location
When you tap a "near me" control or the map’s locate button, your browser or phone asks your permission and, if you grant it, we use your position to sort the list by distance. We never ask for it on load and never in the background.
Those coordinates, rounded to about 11 metres, travel in the page address (?lat=…&lng=…) so the server can order the results. We do not write them to our database and do not link them to your account, but, like every address you visit, they appear in our hosting provider’s request logs (section 7) and, if that page fails, in the technical error alert our team receives.
4. Why we process it
Necessary purposes — without these the service cannot be provided, and they need no separate consent because they are the service you asked for:
- Creating and maintaining your account and session.
- Storing and showing you your favourites, trip plans, nature list and concierge conversations.
- Generating concierge replies and itineraries, only after you give us permission to send Google what you type and your trip details; if you do not, we send nothing and the rest of the service works the same (see section 7 and the AI notice).
- Getting your reservation requests to the business you chose, emailing the people at that business who handle them, and showing you its answer on your trip.
- Notifying you on your phone, if you allow it, when a business answers your reservation request and the day before your pass ends; if you handle a business’s reservations, of every new request; and, if you get a business’s Monday summary and turn it on, when it is ready. A business’s notifications carry the business’s name, the date, the time and the party size — the Monday one, its visits and taps for the week —, never the name or phone of the person booking.
- Publishing the reviews you write.
- Dealing with what you send us through the forms, and alerting our team as soon as it arrives.
- Welcoming you on the tablet where you are staying.
- Processing and recording purchases, and giving you what you bought.
- Recording clicks through to our affiliate partners’ sites, which pay us a commission when somebody books there: it is one of the ways the service pays for itself. A click that comes from your trip is linked to that trip.
- Recording that you accepted the Terms and read this notice, so we do not ask every time and can show that you did.
- Preventing abuse: rate-limiting requests, moderating visitor-submitted content and handling reports.
- Meeting legal, tax and accounting obligations, and responding to lawful requests from a competent authority.
- Handling your ARCO requests and being able to show that we handled them.
Optional purposes — you can object to these and still use the service:
- Our own usage analytics, which is how places are ranked by real popularity and how the dashboards businesses pay for are populated. These events carry no user column, so they do not describe an identified person. You can switch them off in Profile → Privacy and data.
- Trip notifications and nature in season: one morning notification while your trip lasts — the sea, the sunset, cruise days, nature in season. They are off until you turn them on in the app, and we keep when you did.
- Commercial messages. Today we send none: the only email this service sends is your account’s own — the password-reset email or the sign-in link, for instance —; if you manage a business, the notices about it (that we approved your request, that its plan started, changed, is about to end or ended), with a link to get its page ready, and, on a plan that includes it, the Monday summary of its page’s numbers, with a link to stop it in every email, and our reply to what you write to us through Help; and, if you handle a business’s reservations, the notices of the requests it receives. If we ever send a newsletter it will be because you asked for it, with a way to unsubscribe in every message.
5. How to limit the use or disclosure of your data
- Use the app without an account. Most of the content works signed out, and with no account almost nothing is linked to you (section 2).
- Answer “Not now” when we ask your permission to use the AI: we send nothing to Google and you can keep using everything else.
- Delete your account whenever you like, from Delete my account. Read section 10 first: some things do not go with it.
- Switch off usage measurement in Profile → Privacy and data. The setting is kept in that browser or on that phone.
- Choose which notifications you get in Profile → Notifications, or switch them all off in your phone’s settings. When you sign out, that phone stops receiving them.
- Open our partners’ sites from a place’s page rather than from your trip, if you do not want the click linked to your trip.
- Leave the optional trip fields empty — dietary, accessibility, special occasion — if you do not want us to process them; you can clear them at any time.
- Object to the optional purposes by writing to the privacy address in section 1. You do not need to give a reason to object to an optional purpose.
- Withdraw your consent at any time by the same route. Withdrawal has no retroactive effect on processing already carried out.
- Control your browser storage. Clearing site data removes the session identifier, the language preference, the welcome-screen draft and the local record of your acceptance.
6. Your ARCO rights
You have the right to access your data, to rectify it when it is inaccurate or incomplete, to cancel it when you believe it is not needed for the purposes in this notice, and to object to its processing for a legitimate reason.
You can exercise them in the app, in Profile → Privacy and data — download your data, correct your profile, file a request that is recorded with its date, or delete your account; by writing to the privacy address in section 1; or, if you can no longer sign in, with the form at Delete my account. The full procedure — what your request must contain, how quickly we answer, and what to do if the answer does not satisfy you — is at Your data and your rights. Exercising these rights is free.
7. Who we share it with
We do not sell your personal data and we do not share it with advertisers. These providers process it on our behalf, only so that the service can work:
- Provider
- Supabase
- What for
- Database, authentication and file storage
- What it receives
- Everything in section 2
- Provider
- Vercel
- What for
- Hosting for the site and the API
- What it receives
- Logs of every request, including your IP address and the page address
- Provider
- Google (Gemini)
- What for
- The model behind the AI concierge, the trip planner and the business writing and translation tools
- What it receives
- Your messages to the concierge, the trip details the concierge or the planner looks up — including your dietary and accessibility notes, if you wrote them — and catalogue context. Google keeps the conversation: the AI notice says for how long. If you manage a business, the texts you choose to draft or translate in your dashboard and the business’s name
- Provider
- Resend
- What for
- Sending email
- What it receives
- Your account’s emails, such as the password reset or the sign-in link, with your address; if you manage a business, the notices about it and its plan, with your first name, your address, the business’s name and the plan, the Monday summary of its page’s numbers and our reply to what you wrote through Help, with its topic; and the notice of a reservation request to the people at the business who handle it, with your name, the date, the time, the party size and your notes — never your phone
- Provider
- Meta (WhatsApp)
- What for
- Reservation alerts on WhatsApp for the people at a business who turn them on
- What it receives
- The WhatsApp number that person gave us, and the alert: the business’s name, the date, the time and the party size. Nothing about the person asking for the reservation
- Provider
- Discord
- What for
- Internal alerts to our team when something arrives that needs handling
- What it receives
- From the business contact form: your name, business, phone, email and message. From the feedback form: your message, the page and your email if you left it. From a business claim: your name and your role. From Help: the business and its plan, the topic, your first name and your message. From a content or hours report: what you wrote. And, when a page fails, the technical error alert, with that page’s address
- Provider
- Mapbox
- What for
- Maps
- What it receives
- The map tile requests your browser makes
- Provider
- Apple and Google Play
- What for
- In-app purchases
- What it receives
- The purchase record
- Provider
- Expo (650 Industries, Inc.)
- What for
- Sending notifications to your phone
- What it receives
- Your phone’s notification identifier and the notification: its title, its text and the screen it opens. For a business, the business’s name, the date, the time and the party size, or its visits and taps for the week; never the name or phone of the person booking
- Provider
- Apple (APNs) and Google (Firebase Cloud Messaging)
- What for
- Delivering notifications to iPhone and Android
- What it receives
- Your phone’s notification identifier and the notification
| Provider | What for | What it receives |
|---|---|---|
| Supabase | Database, authentication and file storage | Everything in section 2 |
| Vercel | Hosting for the site and the API | Logs of every request, including your IP address and the page address |
| Google (Gemini) | The model behind the AI concierge, the trip planner and the business writing and translation tools | Your messages to the concierge, the trip details the concierge or the planner looks up — including your dietary and accessibility notes, if you wrote them — and catalogue context. Google keeps the conversation: the AI notice says for how long. If you manage a business, the texts you choose to draft or translate in your dashboard and the business’s name |
| Resend | Sending email | Your account’s emails, such as the password reset or the sign-in link, with your address; if you manage a business, the notices about it and its plan, with your first name, your address, the business’s name and the plan, the Monday summary of its page’s numbers and our reply to what you wrote through Help, with its topic; and the notice of a reservation request to the people at the business who handle it, with your name, the date, the time, the party size and your notes — never your phone |
| Meta (WhatsApp) | Reservation alerts on WhatsApp for the people at a business who turn them on | The WhatsApp number that person gave us, and the alert: the business’s name, the date, the time and the party size. Nothing about the person asking for the reservation |
| Discord | Internal alerts to our team when something arrives that needs handling | From the business contact form: your name, business, phone, email and message. From the feedback form: your message, the page and your email if you left it. From a business claim: your name and your role. From Help: the business and its plan, the topic, your first name and your message. From a content or hours report: what you wrote. And, when a page fails, the technical error alert, with that page’s address |
| Mapbox | Maps | The map tile requests your browser makes |
| Apple and Google Play | In-app purchases | The purchase record |
| Expo (650 Industries, Inc.) | Sending notifications to your phone | Your phone’s notification identifier and the notification: its title, its text and the screen it opens. For a business, the business’s name, the date, the time and the party size, or its visits and taps for the week; never the name or phone of the person booking |
| Apple (APNs) and Google (Firebase Cloud Messaging) | Delivering notifications to iPhone and Android | Your phone’s notification identifier and the notification |
Supabase, Vercel, Google, Resend, Meta, Expo, Apple and our team’s chat service operate mainly from the United States, so using the service involves an international transfer of data.
In addition, in these cases your data reaches third parties who process it on their own account, not on ours:
- The business you send a reservation request to. It receives in its reservations inbox the date, the time, the party size, your name, your notes and your phone if you gave it. It needs them to handle your request — confirm it, offer you another time or decline it — which is why we do not ask for separate consent. Its terms with us require it to use your data only for that reservation, keep it confidential and delete it once it no longer needs it; from the moment it receives it, it answers for what it does with it.
- Our affiliate partners’ sites, when you follow one of their links: Viator and GetYourGuide (tours and experiences), Hotels.com, Expedia and Booking.com (accommodation, through the CJ affiliate network), Discover Cars (car hire), SafetyWing (travel insurance) and Airalo (eSIM, through the Impact affiliate network). Your browser leaves through a link of ours and lands on their site, which receives your visit like any website does — your IP address, your device and whatever cookies it sets — plus a reference code: the screen you came from and a random click code. We do not send them your name, your email or your account. When a Booking.com link comes from your trip, it may also carry your stay’s dates and how many adults and children are travelling, so the search opens with them.
- What that code is for: if you book, the partner pays us a commission, and its report carries the code, which lets us match the booking to the click — and, if the click came from your trip, to that trip. Whatever you agree to on their site is governed by their privacy notice and their terms.
- Apple and Google, if you choose to sign in with their account: they know you signed in to Huatulco.app and confirm to us who you are (section 2). If you signed in with Apple and you delete your account in the app, we send Apple the token from section 2 so that it removes the link; if our team deletes it at your request, today we do not send it, and the link may stay until you remove it from your Apple ID (section 2). What they do with that is governed by their own notices.
Weather comes from Open-Meteo, and map data and species photographs from OpenStreetMap and iNaturalist. Those services receive destination coordinates and catalogue queries — never anything about you.
We also share data when a competent authority lawfully requires it, and we may do so in a corporate reorganisation, in which case the acquirer takes on the same obligations set out in this notice.
8. IP addresses
To limit how many requests one origin can make — which is how abuse of the concierge, the forms, the partner links and the analytics endpoint is held back — we take your IP address, run it through SHA-256 with a secret salt, and keep only the truncated result. The address itself is never stored in our database.
Separately, Vercel and Supabase log the IP of every request in their own infrastructure logs, as any internet server does. Those logs are theirs, outside our control, and we cannot delete them on your behalf.
9. How long we keep it
- What
- Account, profile, favourites, trips, sightings, reviews
- How long
- Until you delete your account
- What
- Concierge conversations (our copy)
- How long
- No defined limit — see the note below
- What
- Google’s copy of those conversations
- How long
- Whatever period Google sets; see the AI notice
- What
- Reservation requests
- How long
- No automatic deletion: they stay in the business’s inbox, even if you delete the trip or your account (section 10)
- What
- Clicks through to partner sites
- How long
- No automatic deletion; a click that came from your trip stays linked to that trip, and through it to your account, until you delete that trip or your account, or ask for its cancellation (section 6)
- What
- Messages sent through the forms (contact, feedback, Help, properties)
- How long
- No automatic deletion; you can ask us to delete them (section 6)
- What
- Record of your acceptance of the Terms, of this notice and of your permission to use the AI
- How long
- Linked to your account, until you delete it; with no account, no automatic deletion
- What
- Sign in with Apple token
- How long
- Until you delete your account; deleted with it
- What
- Your phone’s notification identifier
- How long
- Until you sign out on that phone, delete your account, or 90 days without opening the app
- What
- Record of the notifications sent
- How long
- 30 days, enforced by a scheduled job; for an in-season notice (whales, turtles), until the season ends, so it is not repeated, and never more than a year
- What
- Welcome-tablet stays
- How long
- 14 days after check-out, enforced by a scheduled job
- What
- Analytics events with no identifier
- How long
- 90 days, enforced by a scheduled job
- What
- Photos delivered by a photographer
- How long
- 7 days if unclaimed; 30 days once claimed
- What
- In-app purchases (our record)
- How long
- Until you delete your account; Apple or Google keep their own
- What
- Business membership payments
- How long
- Kept as accounting and tax evidence
| What | How long |
|---|---|
| Account, profile, favourites, trips, sightings, reviews | Until you delete your account |
| Concierge conversations (our copy) | No defined limit — see the note below |
| Google’s copy of those conversations | Whatever period Google sets; see the AI notice |
| Reservation requests | No automatic deletion: they stay in the business’s inbox, even if you delete the trip or your account (section 10) |
| Clicks through to partner sites | No automatic deletion; a click that came from your trip stays linked to that trip, and through it to your account, until you delete that trip or your account, or ask for its cancellation (section 6) |
| Messages sent through the forms (contact, feedback, Help, properties) | No automatic deletion; you can ask us to delete them (section 6) |
| Record of your acceptance of the Terms, of this notice and of your permission to use the AI | Linked to your account, until you delete it; with no account, no automatic deletion |
| Sign in with Apple token | Until you delete your account; deleted with it |
| Your phone’s notification identifier | Until you sign out on that phone, delete your account, or 90 days without opening the app |
| Record of the notifications sent | 30 days, enforced by a scheduled job; for an in-season notice (whales, turtles), until the season ends, so it is not repeated, and never more than a year |
| Welcome-tablet stays | 14 days after check-out, enforced by a scheduled job |
| Analytics events with no identifier | 90 days, enforced by a scheduled job |
| Photos delivered by a photographer | 7 days if unclaimed; 30 days once claimed |
| In-app purchases (our record) | Until you delete your account; Apple or Google keep their own |
| Business membership payments | Kept as accounting and tax evidence |
10. What does NOT go when your account does
In addition: if you asked about a property, that request is kept, with no link to your account; clicks through to partner sites that came from your trips stay without the trip, so there is no longer any way to link them to you; editorial content you created as a business owner (the listing, the menu, events) stays published, with no attribution to your account; what you wrote through Help and our reply stay in that business’s dashboard, without your name; and business membership payments are kept as accounting evidence. The record of your in-app purchases, on the other hand, is deleted with your account; Apple or Google keep their own.
11. Security
- Passwords are hashed by Supabase Auth and we never see them.
- Every table holding personal data is protected by row-level security policies in the database: a query made with your session can only reach your own rows.
- Photos you submit wait for approval in a private bucket, not a public one.
- A photographer’s deliveries are private to the person receiving them.
- Traffic is encrypted with TLS.
We claim no certifications we do not hold, and no system is invulnerable. If we detect a breach that significantly affects your rights, we will tell you without delay at the email address on your account.
12. Children
To create an account you must be at least 13, as the Terms of Service require. If you are between 13 and 17, we process your data with the consent of your parent or guardian: by accepting the terms you declare that you are 18 or older, or that you have that permission. We do not knowingly collect data from children under 13: if we find an account belonging to someone under 13, or to someone under 18 without that consent, we will delete it. If you are a parent or guardian, you may exercise the rights in section 6 — access, rectification, cancellation or objection — on their behalf by writing to the privacy address.
If you note on your trip the ages of children travelling with you, you are the one providing that data, as their parent or guardian, and it is used only to plan the trip.
13. Changes to this notice
This notice carries a version number and an effective date at the head of the page. When it changes, the version goes up.
- A substantial change — new data, new purposes, a new provider receiving your data — moves the major or minor number and is shown to you inside the app the next time you open it, before you carry on using it.
- A wording correction that does not change the meaning moves only the last number and updates the last-revised date, without interrupting you.
The version in force is always the one published on this page.
14. If you are not satisfied
If you believe we have breached your right to data protection, you may file a solicitud de protección de datos with the Secretaría Anticorrupción y Buen Gobierno, which has been the private-sector data protection authority since INAI was dissolved. You have fifteen days from the day we give you our answer, or from the day our deadline to answer expired.
Resolutions of the Secretaría are challenged by juicio de amparo, heard by specialised judges and courts.