Skip to content

Privacy notice (full)

Version 1.0.0In force since 10 August 2026Last revised: 10 August 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.

Document in preparation

The responsable's identity details are still to be set, and the law requires them to appear in this document. Until they are filled in, the text holds on substance but the identity block is incomplete. Write through the app's usual channels if you need to exercise a right in the meantime.

Fields still missing: entityName, responsibleName, address, contactEmail, privacyEmail, supportEmail

1. Who is responsible for your data

Responsible party

Legal entity
Pending
Data protection responsable
Pending
Address
Pending
Jurisdiction
Oaxaca, México
General contact
Pending
Privacy and ARCO rights
Pending
Support
Pending

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, we store nothing 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 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 create an account, we 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, we receive the basic profile details Google shares.
  • Profile: display name, username, avatar image, language and country, if you provide them.
  • Your saved activity: favourite places and events, trip plans and itineraries, your nature life list, any hours or content reports you file, and anyone you have blocked.
  • AI concierge conversations: the messages you write and the model’s replies, plus technical details of each turn (model used, token counts, latency). Read the AI notice — this is the most sensitive part of all of it.
  • Purchases: payment identifier, amount, currency and tier. Your card details never touch our servers — they are handled by Mercado Pago, Apple or Google Play depending on where you buy.
  • If you claim a business or work as a photographer: the link between your account and that business or photographer profile, and whatever you publish from it.

We do not ask for sensitive personal data — health, ethnic origin, beliefs, sexual preference, biometrics — and no screen in the app requests any. The only way such data could reach us is if you typed it into a concierge conversation, which is why the AI notice asks you plainly not to.

3. Location

When you tap a "near me" control or the map’s locate button, your browser asks your permission and, if you grant it, uses your position to sort the list by distance. We never ask for it on load and never in the background.

Those coordinates travel in the page address (?lat=…&lng=…) so the server can order the results. We do not write them to our database, but, like every address you visit, they appear in our hosting provider’s request logs described in section 7.

Between 4 and 10 August 2026 our analytics stored coordinates rounded to roughly 1 km alongside some usage events. That is 98 events out of 1,493, at 35 distinct points, and none of them is linked to an account. Collection stopped on 10 August 2026: the server that receives analytics no longer accepts coordinates from the browser, and the anonymous client can no longer write events directly. Those 98 historical rows are still stored. We do not say "we do not collect location", because for those days we did.

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 (see section 7 and the AI notice).
  • Processing and recording purchases, and giving you what you bought.
  • 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.
  • Commercial messages. Today we send none: the only email this service sends is Supabase Auth’s confirmation and password-recovery mail. 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 there is no record tied to you.
  • Delete your account whenever you like, from Delete my account. Read section 9 first: two things do not go with it.
  • 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 and the welcome-screen draft.

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.

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 so 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
Request logs, including your IP address
Provider
Google (Gemini)
What for
The AI concierge model
What it receives
Your messages and catalogue context. Google retains the transcript
Provider
Anthropic
What for
The trip planner model
What it receives
The trip details you enter and catalogue context
Provider
Mapbox
What for
Maps
What it receives
The map tile requests your browser makes
Provider
Mercado Pago
What for
Payments on the web
What it receives
The payment data. We never see your card
Provider
Apple and Google Play
What for
In-app purchases
What it receives
The purchase record

Supabase, Vercel, Google and Anthropic operate mainly from the United States, so using the service involves an international transfer of data. Mercado Pago operates from Mexico and Argentina.

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.

What is not here, stated because it was verified across the whole repository: no Google Analytics, Meta Pixel, Sentry, Datadog, PostHog or any other third-party analytics or crash-reporting tool; no advertising SDK; and no cross-site tracking technology of any kind.

8. IP addresses

To limit how many requests one origin can make — which is how abuse of the concierge, the contact form 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
How long
Until you delete your account
What
Concierge conversations (our copy)
How long
No defined limit — see the note below
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
Payment records
How long
Kept as accounting and tax evidence even after you delete your account
Our copy of your concierge conversations has no automatic deletion deadline today. The purge that exists covers analytics, not messages. That is a gap rather than a decision: it is fixed by setting a limit, and until then we say so here instead of leaving it implied. You can remove them at any time by deleting your account, or by asking for their cancellation through section 6.
When data is cancelled, the law provides for a blocking period before deletion, during which the data is kept solely to establish any liability arising from its processing and is not used for anything else.

10. What does NOT go when your account does

A photo you submitted that was approved stays published. Deleting your account severs the link between that photo and your identity — no column points at you any more — but the image remains visible on the place’s page. If you want the image taken down as well, ask us explicitly through section 6 and we will remove it.
Google retains concierge transcripts. Deleting your account removes our copy of the messages; it does not reach the copy Google holds on its servers. The AI notice explains this and what you can do about it.

In addition, payment records are kept as accounting evidence, and editorial content you created as a business owner (the listing, the menu, events) stays published, with no attribution to your account.

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

The service is not directed at children under 13 and we do not knowingly collect their data. If we find an account belonging to someone younger we will delete it; if you are a parent or guardian and believe this has happened, write to the privacy address.

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.