Privacy Policy.
What we collect, what for, and how you delete it. The short version: location is only read with the app open, there are no ads and no data selling, and the account is deleted inside the app.
This is a translation, for your convenience. The Portuguese version is the legally binding one: if the two differ, the Portuguese version prevails. Read the Portuguese version
1. Who we are and who is responsible for your data
Tailmeet is an app for dog walks together: it helps owners find other dogs nearby, arrange walks in the chat, join Tailmeets (open walks marked on the map) and find parks, beaches, vets and shops on the map. The places come from OpenStreetMap and we do not verify them: check each place’s rules — many beaches, for example, do not allow dogs during the bathing season.
For the purposes of the General Data Protection Regulation (GDPR — Regulation (EU) 2016/679) and Portuguese Law No. 58/2019, the controller of your data is Isaac Jesus Oliveira, the promoter of the Tailmeet project, acting in a personal capacity: the company that will run Tailmeet has not yet been incorporated. Once it is, it will become the controller, and we will tell you by email before the change takes effect.
For anything to do with your data — requests for access, rectification, erasure, portability or objection, or questions about this policy — write to privacidade@tailmeet.com.
We have not appointed a data protection officer (DPO): given the type and volume of the processing, the GDPR does not require one.
This policy covers the mobile app and the website.
2. Data we collect
Account: your email and your password. The password is stored encrypted by the authentication service (Supabase) and we never see it. We also store the date the account was created and the app’s language (Portuguese or English), so that account emails reach you in that language.
Owner profile: your name, the city you choose from a list and, if you add one, your photo.
Dog profile: name, breed, age, sex, size, bio, up to six photos, temperament tags, whether it is neutered, a sociability score from 0 to 10, the times it usually goes for walks (morning, afternoon, evening, weekend) and the city. All of this is declared by you; we verify none of it.
Location: the coordinates of Tailmeets you create and of places you save to your favourites. It is a topic of its own — see section 3.
Conversations: the messages you exchange with your matches, with the time they were sent and the time the other person opened them (that is what shows as “read”), and the messages in the group chats of the Tailmeets you have joined.
Interactions: your likes, superlikes and passes, the matches they lead to, the Tailmeets you create or join, and the record of which matches you have already seen (that is what clears the red dot). On the dog’s profile we also store how many Tailmeets it has been to: when a Tailmeet is deleted (section 8), each dog that had joined it gets one more on that counter. It is just a number — it does not say which ones or where.
Notifications: if you allow them, your phone’s push identifier (an Expo token), the date it was last updated, whether the notifications switch is on or off and the app’s language (Portuguese or English), so that alerts reach you in that language.
Blocks and reports: which profiles you have blocked; and, for each report, who reported, who was reported, the conversation it came from (when it came from one), the reason, the text you write (up to 500 characters) and the status of the review. When a report is made we also store, with it, a copy of the reported profile (name, breed, bio, city and the addresses of the dog’s photos; the owner’s name and town — the photos themselves are not copied, and if they are deleted the address stops working) and of the last 50 messages of the conversation, when the report comes from one — this is what lets us review it even if the conversation is deleted afterwards, by a block or by the other person. When the report comes from a Tailmeet, we also store a copy of it (title, place, notes, date and time) and of the last 50 messages the reported person wrote in the group chat — these only if you are in that Tailmeet, because they are the ones you could read.
Ended conversations: when a match is undone or there is a block, the last 50 messages of that conversation are kept for 30 days, only for moderation and without anyone reading them in the app. If one of the two people reports the other within that period, the report takes them. This is so that someone who harasses others cannot delete the conversation before being reported.
Moderation check: the dog’s bio and the title and notes of the Tailmeets you create go through an automatic check (section 4). We keep, separately, the text that was checked, the date and the result — and, if it is flagged for review, the category and a sentence explaining why.
Photos: they are kept in Supabase storage, in a publicly readable space — anyone who has a photo’s address can open it without an account. The addresses cannot be listed and are hard to guess, but a photo whose link is shared is no longer behind your login. When you remove a photo from the dog’s profile and save, the file is deleted from storage. Do not put anything in the photos that you would not want outside the app.
Crash reports: when the app crashes, and only if the reporting service is configured in that version, we send the error, the app version, the phone’s model and operating system and the technical steps that led to the crash. It is configured not to send personal data — neither your email nor your name — and we ask the service not to store the IP address.
Website waiting list: your email; the area where you walk your dog, chosen from a closed list (one of the Lisbon neighbourhoods on the list, another area of Lisbon or outside Lisbon); the park you usually go to, if you choose one from a list of parks in that area; and, only if you are outside Lisbon, the city you type in. We also store the language of the page where you signed up (it is the language we write to you in), the date you ticked the consent box and the version of this policy published at that moment and, if you arrive through a tagged link (for example /?ref=instagram), that tag. The form does not ask for your name or phone number.
Website contact and report forms: your email, the message and anything else you write (in the contact form, also the subject, your name if you give it, and the language of the page). They are sent by email, through Resend, to the team’s mailbox (section 6). The contact form stores nothing in our database.
Anti-bot check on the website: on the waiting-list, contact, report and account-deletion forms, Cloudflare Turnstile collects your IP address, your browser’s User-Agent and other technical signals from the browser, to tell people from bots (section 6).
Anti-abuse limits on the website: so that the forms cannot be used to send emails in bulk, we store a summary (HMAC) of the email and of the IP address of each submission — an encrypted fingerprint that lets us count repeats but not know whose it is. They are kept for a few days (section 8). The website’s server also counts, only in memory and for at most one hour, the requests from each IP address and, when deleting an account, the wrong passwords for each email.
Technical logs: as with any service on the internet, the database hosting (Supabase) and the website hosting (Vercel) log the IP address and time of the requests that reach them, for security and to diagnose faults.
3. Location: what we read, what we store and what we don’t
Your phone’s precise location is read only while the app is open, and only in three places: the map, when creating a Tailmeet, and the list of Tailmeets (to sort them by distance). Never in the background — the app does not even ask for that permission.
Stored on our servers:
• The point of a Tailmeet you create — the exact position you mark on the map, with the name of the place, the date, the time and the notes. A Tailmeet is public inside the app: anyone with an account can see it.
• The exact coordinates of the places you save to your favourites (park, beach, vet, shop), with their name and type. Those are yours alone: nobody else sees them.
Not stored: your dog’s position in Discover does not come from GPS. It is the coordinates of the centre of the city you chose from a fixed list, and the distances other people see are calculated from there — all dogs in the same city have exactly the same coordinates. We never store your home address or the track of your walks.
When you search for places on the map, the visible area of the map is sent to OpenStreetMap’s Overpass API. It goes without your name and without anything from your account, but your IP address reaches it, as with any request made over the internet (section 6).
You can withdraw the location permission at any time in your phone’s settings. The app keeps working: the map then opens centred on your profile’s city.
4. What we use the data for, and on what legal basis
Creating and maintaining the account, showing compatible profiles, calculating distances, storing conversations, organising Tailmeets and saving your favourite places: performance of the contract with you (Art. 6(1)(b) GDPR). Without this data there is no app.
Reading your phone’s precise location: your consent (Art. 6(1)(a)), given in the system permission and withdrawable in your phone’s settings.
Sending notifications: your consent (Art. 6(1)(a)), given in the system permission and withdrawable in the app, under Settings → Interaction → Notifications.
Website waiting list: your consent (Art. 6(1)(a)), given by ticking the box on the form, which always starts unticked. With it we write to you about the launch: the area and the park help us decide where to open first and let us tell you when your area or your park opens; the city lets us tell you when we get there and choose the next cities. The website shows, for each area, how many people are already on the list and how many are still needed for it to open — numbers only, never who. The date and the policy version stored with your sign-up let us prove your consent (Art. 7(1) GDPR). You can withdraw it at any time, through the link in every email or by writing to us, without affecting what was done before on the basis of it. None of this is used for advertising or shared with anyone beyond the processors in section 6.
Blocks, reports, moderation, anti-abuse limits, the website’s anti-bot check and technical logs: our legitimate interest in keeping the community and the animals safe and in preventing spam, harassment and attacks (Art. 6(1)(f)). The opposing interest — that of the person reported — has been weighed: that is why a report is not public, is never used on its own to ban anyone, and the person who reports is not exposed.
Handling reports of illegal content — including those from people without an account — and explaining to the person concerned what we decided and why: compliance with legal obligations under the Digital Services Act (Art. 6(1)(c)).
Replying to what you write to us, through the contact form or by email: our legitimate interest in replying to you (Art. 6(1)(f)) or, when the request concerns your account, performance of the contract (Art. 6(1)(b)).
Showing the map and places: our legitimate interest in showing you what is near you (Art. 6(1)(f)). For that, your phone requests the map tiles and the places directly from third parties (section 6).
Crash reports, when configured: our legitimate interest in keeping the app working (Art. 6(1)(f)).
We do not sell, rent or trade personal data. We do not do behavioural advertising. We do not make automated decisions with legal or similarly significant effects on you: Discover sorts profiles by shared walking times and by distance, and that sorting is all it does.
Artificial intelligence: we use it in a single place, moderation. Once saved, the dog’s bio and the title and notes of Tailmeets — texts that other users read — are sent to Claude, an AI model made by Anthropic (section 6), which says whether they seem to break the rules in the terms: harassment, hate, selling animals, scams, personal data, among others. Only the text is sent, without your name, your email, the dog’s name or anything that identifies your account. The AI does not delete, hide or reject anything: it only flags texts for a person on the team to review, and that person decides — it is not an automated decision within the meaning of Art. 22 GDPR. Legal basis: our legitimate interest in keeping the community and the animals safe (Art. 6(1)(f)), as with the rest of moderation. Your conversations, your photos and the rest of your profile are not sent to any AI service, and no reply you receive in the app is generated by a machine. If this changes, this policy will be updated beforehand.
5. Cookies, tracking and advertising
The website does not use analytics or advertising cookies, third-party analytics or trackers — that is why you do not see a cookie banner. What it stores in your browser is technical and strictly necessary:
• when you reset your password on the website, a session cookie keeps the recovery access for 10 minutes, only for that request, and is deleted when it ends;
• your theme preference (day or night) is kept in the browser’s local storage (localStorage), so that the page does not change colour on every visit. It does not leave your device and disappears if you clear the site’s data;
• on the waiting-list, contact, report and account-deletion forms, the website loads Cloudflare Turnstile, an anti-bot check that reads technical signals from the browser (section 6). It is used only to stop bots, not for advertising.
The app does not include advertising or ad-tracking SDKs, and does not show ads. On your phone we store locally the session (encrypted, with the key in the iOS Keychain or the Android Keystore), your preferences for language, theme, motion, alerts and Discover filters and, so that the app works offline, a copy of your list of matches and of the latest messages of each conversation. None of this leaves the device. The copy of the conversations is deleted when a conversation ends and when you log out; the rest disappears when you uninstall the app (on iOS, the session key may remain in the Keychain, with nothing it can open).
The terms allow for sponsored content in the future. If that happens, it will be labelled as such and this policy will be updated beforehand, asking for consent where the law requires it.
6. Who receives your data
Processors — they handle data on our behalf, only to provide us with their service:
• Supabase — database, authentication, photo storage and server functions. It is where everything the app stores lives, in a data centre in Frankfurt (Germany). It logs the IP address of requests in its technical logs.
• Expo (Expo push service) — sending notifications. It receives your phone’s token and the text of the alert: the name of the dog whose owner wrote to you and the start of the message (up to 120 characters); the name of the dog you matched with; or the title, date and time of a Tailmeet and the name of the dog that joined. Delivery then goes through Apple (APNs) or Google (FCM), depending on the phone. With notifications off, nothing is sent.
• Expo (app updates) — each time you open the app, it asks Expo whether there is a new version. The request carries an installation identifier, the phone’s operating system and your IP address, and nothing from your account.
• Resend — sending account emails (password recovery), the links to delete an account from the website, the launch emails to people on the website waiting list, report alerts to the team and what you write to us in the website’s contact and report forms. It receives your email when we write to you — and, for the launch emails, the language you signed up in and the area, park or city we are telling you about; the app’s report alerts carry only the reason, the origin and an identifier, with no names or messages; the forms carry what you wrote in them.
• Cloudflare — manages the tailmeet.com domain: it forwards emails sent to @tailmeet.com addresses to the team’s mailbox (Email Routing) and runs the anti-bot check on the website’s forms (Turnstile). Turnstile collects your IP address, User-Agent and technical signals from the browser to tell people from bots. Cloudflare handles that data on our behalf and also, as a controller, to improve its bot detection.
• Google (Gmail) — the team’s mailbox, to which Cloudflare forwards the @tailmeet.com addresses: it is where report alerts, the website’s forms and the emails you send us arrive.
• Vercel — the website’s hosting: it serves the public pages, including this one, and runs the forms. It logs the IP address of requests in its technical logs.
• Sentry — crash reports, and only if that version of the app has the service configured. Until it does, nothing leaves the phone.
• Anthropic — the moderation check (section 4), with the Claude model. It receives the dog’s bio and the title and notes of Tailmeets, with nothing that identifies the account. It does not use these texts to train models and deletes them within the period set in its commercial terms: up to 30 days, unless its safety systems flag a text as breaking its usage policies, in which case it may keep it for up to two years.
Third parties, which are not processors — your phone talks to them directly to show you the map, and each handles what it receives under its own privacy policy:
• OpenStreetMap, through the Overpass API (overpass-api.de, run by FOSSGIS e.V., in Germany) — the parks, beaches, vets and shops you see on the map. It receives the area of the map you are looking at and your IP address. We send it nothing about you or your dog.
• The map tiles come from the system’s map: Apple Maps on iOS, Google Maps on Android. They receive your IP address and the area of the map you are looking at.
• Apple App Store and Google Play — distribution of the app and, should there ever be purchases, billing. In that role they are independent controllers of the data they collect.
Transfers outside the European Economic Area, provider by provider (checked on 5 October 2026 against the official EU-US Data Privacy Framework list):
• Supabase — the data stays in Frankfurt (EU); the company is American, and any access from the US is covered by the European Commission’s standard contractual clauses. • Expo (US) — Data Privacy Framework. • Vercel (US) — Data Privacy Framework and standard contractual clauses. • Resend (US) — Data Privacy Framework and standard contractual clauses. • Cloudflare (US) — Data Privacy Framework and standard contractual clauses. • Google (US), for Firebase Cloud Messaging, Google Maps and Gmail — Data Privacy Framework and standard contractual clauses. • Apple — through Apple Distribution International (Ireland); for the US, standard contractual clauses. • Sentry (US) — Data Privacy Framework, only if it is configured. • Anthropic (US) — standard contractual clauses, in Anthropic’s data processing agreement.
You can ask for a copy of these safeguards at privacidade@tailmeet.com.
With public authorities: only if the law requires it.
7. What other users see
Anyone logged in to Tailmeet sees your dog’s full profile — name, breed, age, sex, size, bio, photos, tags, neutering, sociability score, walking times, city, that city’s coordinates and how many Tailmeets it has been to — and, on your side, your name, your city and your profile photo.
Your email is never shown to other users.
The Tailmeets you create are public inside the app, with the exact place, the time and the notes, and are linked to your dog. Anyone who has joined can share them outside the app: the shared link carries the title, the date, the time and the name of the place. Anyone who joins a Tailmeet sees the other participants and the group chat — except for anyone who has blocked them.
Only the participants see your conversations. With the conversation open, the other person sees when you also have it open (“Online”) and when you are typing. Your saved places, your likes and passes and the reports you make are not visible to anyone else: the app shows no one who liked them before there is a match, whoever gets a pass never knows, and whoever is reported never finds out by whom. They only find out that they were reported if we take action on their content or their account — and in that case we tell them what we did and why (terms, section 11).
8. How long we keep data
As a rule: for as long as the account exists. Deleting it erases everything linked to it (section 9).
On top of that, automatic clean-ups run in the database every day, in the early hours:
• Tailmeets: deleted 14 days after their start time. That Tailmeet’s sign-ups and group chat go with it.
• Notification tokens: deleted after 120 days without being updated — that is, about four months without opening the app on that phone.
• Ended conversations: the copy of the last 50 messages of an undone or blocked match (section 2) is deleted after 30 days.
• Moderation check: the record of a text with no problems is deleted 30 days after the check; that of a text that has changed is replaced by the new one; that of a dog or Tailmeet that no longer exists, the next day. A flagged text stays until a person on the team reviews it, and is deleted 30 days after that.
• Passes: “passes” (swiping left) are deleted after 90 days. Likes and superlikes are kept for as long as the account exists — they are half of a future match.
The summaries used by the website’s anti-abuse limits (section 2) are deleted after two days, and those for the waiting-list confirmation links after four — the clean-up runs each time someone uses one of those forms.
The dog’s Tailmeet counter (section 2) is kept for as long as the dog’s profile exists, and goes with it.
Reports are kept for moderation and to spot patterns, and are not deleted at your request while they are needed for that purpose. They do not disappear when one of the accounts involved is deleted — otherwise, deleting the account would be enough to delete the report. The copy of the profile and messages stored with each report (section 2) is deleted automatically 180 days after the report is closed; the report itself — reason, text and status — is kept for up to two years after it is closed, and then deleted.
Messages are kept for as long as the match exists. Undoing a match, or blocking, deletes the match and with it the whole conversation, on both sides and irreversibly. The exceptions are the 30-day copy for moderation (section 2) and the copy kept with a report, within the periods above.
The website waiting-list data (section 2) is deleted when the app opens in your area — or in your city, if you are outside Lisbon — and we have sent you the notice, and in any case 12 months after you signed up. Before then, you can leave whenever you like, through the link in every email or by writing to us. It is a separate table, not linked to your account in the app — deleting the account does not delete it; for that, write to us.
The technical logs with your IP address (section 2) are kept for Supabase’s and Vercel’s periods, and it is they who delete them.
Today there are no database backups: our hosting plan (Supabase) does not make them, so what is deleted is gone for good. A deleted photo may still open from its address for a few minutes, until the cached copy in the delivery network expires. If we start having backups, this section will say how long deleted data can remain in them.
9. Deleting your account
In Settings → Account → Delete account, with two confirmations. You do not need to ask us for anything or give a reason.
The request runs on the server and is immediate. It deletes the authentication account and, in cascade, the owner profile, the dog profile, likes and passes, matches, messages, blocks, Tailmeet sign-ups, the Tailmeets you created, saved places and the notification token. The reports you made and those concerning you are not deleted: they are no longer linked to the deleted profile, but are kept for moderation, under the terms and periods of section 8. The copy of the latest messages of your conversations is kept for the 30 days of section 8, only for moderation. Photos are deleted from storage by the same operation, on a best-effort basis — if any are left behind, tell us and we will delete them.
There is no recovery period and no copy waiting: once deleted, the account does not come back.
If you no longer have the app, delete your account at tailmeet.com/en/eliminar-conta, in one of two ways: with your email and password, or with your email only — we send you a link valid for one hour, and the account is only deleted when you open it and confirm (this also works if you have forgotten your password). It is the same request, through the same route. If you cannot log in at all, write to privacidade@tailmeet.com and we will delete the account for you, once we have confirmed it is yours.
10. Your rights and how to exercise them here
You have the right of access, rectification, erasure, restriction, portability and objection, and to withdraw your consent at any time without affecting what was done before on the basis of it.
In the app, without having to write to us:
• Rectification: Profile → edit your profile and your dog’s (name, city, photo, dog details, walking times).
• Erasure: Settings → Account → Delete account. You can also remove places from your favourites on the map and delete Tailmeets you created.
• Objection and restriction, in practice: blocking a profile from the profile itself or from the conversation — it stops appearing to you in Discover and the conversation between you disappears —, and managing the list in Settings → Privacy → Blocked profiles. Reporting a profile through the same menu, choosing the reason.
• Withdrawing consent: notifications in Settings → Interaction → Notifications; location in your phone’s settings; website waiting-list emails, through the link in each one.
By email, to privacidade@tailmeet.com:
• Access: a copy of the data we hold about you.
• Portability: the data you gave us, in a structured, machine-readable format (JSON or CSV).
• Objection to processing based on legitimate interest, restriction of processing, or erasure if you cannot use the app.
We reply within one month of the request at most, extendable by two months in complex cases, as provided in Art. 12(3) GDPR — and we will let you know if that happens.
11. Security
The connection between the app and the servers is encrypted (HTTPS/TLS) and data is encrypted at rest. On your phone, the session is stored with the system’s encryption, in the Keychain (iOS) or the Keystore (Android).
In the database, each table has row-level access rules: a user can only read and write what belongs to them, and the server does not trust what the app sends it. One user’s notification tokens are never readable by others.
If there is a personal data breach, we notify the CNPD (the Portuguese data protection authority) without undue delay and, where feasible, within 72 hours of becoming aware of it, unless it is unlikely to result in a risk to people’s rights and freedoms (Art. 33 GDPR). If the breach is likely to result in a high risk to you, we also tell you directly, without undue delay (Art. 34).
12. Minimum age
Tailmeet is intended for people aged 18 or over. By creating an account, you declare that you are.
We do not ask for your date of birth or verify your age — it is your declaration. If we learn that an account belongs to someone under 18, we will delete it and erase the associated data.
13. Changes to this policy
If this policy changes in a significant way, we will let you know at least 14 days in advance, in the app or by email. The date of the last update is always at the top.
14. Complaints
If you believe the processing of your data breaks the law, talk to us first — privacidade@tailmeet.com — and, in any case, you can lodge a complaint with the Comissão Nacional de Proteção de Dados (CNPD, cnpd.pt), the supervisory authority in Portugal, or with the authority of the European Union country where you live.
Este texto foi escrito pela equipa do Tailmeet em linguagem simples e aguarda revisão por um jurista. Em caso de dúvida sobre o sentido de uma cláusula, escreve para ola@tailmeet.com.