Privacy policy
In plain language: what data we process about you in SaunaPlanet, why, on what legal basis, who processes it for us and how you can control it.
Draft — needs legal review before publication. Passages in square brackets are waiting for data or confirmation.
1. Who is the controller of your data
The controller of your personal data is [NAZWA ADMINISTRATORA], [ADRES SIEDZIBY], tax ID (NIP) [NIP], REGON [REGON] (“we”).
For anything about personal data, write to [ADRES E-MAIL DO SPRAW DANYCH OSOBOWYCH]. We have not appointed a data protection officer [TO BE VERIFIED: whether an appointment is required].
SaunaPlanet is a service with a map of sauna facilities, sauna events and sauna master profiles. You can browse it without an account. Most of the data described below concerns people who have created an account.
2. What data we process, why and for how long
Each group of data below has its purpose, its legal basis (the GDPR articles are explained in the section “Legal bases”) and its retention period.
Account
- Data
- E-mail address, password hash (we never know or store the password itself), account ID, creation date, role in the service.
- Purpose
- Creating and running your account, signing in, securing access.
- Basis
- Art. 6(1)(b) (contract for the account).
- How long
- Until the account is deleted.
Profile
- Data
- First and last name, if you provide them.
- Purpose
- Signing your reviews and comments. Publicly we show your first name and the initial of your last name (e.g. “Julia S.”), never your e-mail address.
- Basis
- Art. 6(1)(b).
- How long
- Until the account is deleted or you change the data.
Reviews, ratings and comments
- Data
- Text, rating, publication date, link to your account.
- Purpose
- Publishing reviews of facilities and events, moderation.
- Basis
- Art. 6(1)(b) and (f) (trustworthy reviews, protection against abuse).
- How long
- Until you or a moderator delete the content, or until the account is deleted [TO BE VERIFIED: whether reviews are deleted with the account or anonymised].
Photos
- Data
- Files you add to events and facilities, and the ID of the account that added them. A photo is downsized in your browser before upload, but we do not guarantee that its metadata (e.g. camera location) is removed [TO BE VERIFIED].
- Purpose
- Publishing and moderating photos.
- Basis
- Art. 6(1)(b) and (f).
- How long
- Until the photo or the account is deleted.
Event sign-ups and “Going”
- Data
- Account, event, sign-up status (pending / confirmed), an optional note; the “Going” mark.
- Purpose
- Handling sign-ups. The organiser, people managing the facility and moderators can see them; other users only see a number.
- Basis
- Art. 6(1)(b).
- How long
- Until the sign-up is cancelled or the account is deleted [TO BE VERIFIED: whether longer retention is needed].
Followed masters and favourite facilities
- Data
- The lists of masters and facilities you added.
- Purpose
- Personalisation (followed feed, favourites). Only you can see them; a sauna master only sees the number of followers.
- Basis
- Art. 6(1)(b).
- How long
- Until you unfollow or the account is deleted.
“I’m here” (stamps in the sauna passport)
- Data
- Account, facility, day of the visit (Polish time), time the entry was created. Coordinates are not stored — see the section “Device location”.
- Purpose
- Sauna passport and weekly streak, visible only to you. They do not affect ratings, rankings or rewards.
- Basis
- Art. 6(1)(a) (consent: your tap and the browser’s location permission) [TO BE VERIFIED].
- How long
- Until you delete the stamps in your profile (“Delete all stamps”) or the account is deleted.
E-mail notifications
- Data
- Chosen kinds of messages and language, date and source of consent, unsubscribe code, delivery log (kind, status, the provider’s message ID, any error).
- Purpose
- Sending messages you turned on yourself: weekend plan, new events from followed masters, a reminder the day before an event. Off by default.
- Basis
- Art. 6(1)(a) (consent); you can withdraw it in account settings or with the link in any message.
- How long
- Until you withdraw consent or the account is deleted; delivery log [TO BE VERIFIED: period].
Reports and contact
- Data
- Text of the report, category, facility, an optional reply e-mail, language, the page you report from, account (if signed in). For reports without an account we store an irreversible hash (HMAC) of the network address, only to limit how many reports can be sent; the address itself is not stored.
- Purpose
- Handling reports, correcting data in the service, protection against abuse.
- Basis
- Art. 6(1)(f).
- How long
- [TO BE VERIFIED: period, e.g. 12 months after the report is closed].
Sauna master or facility profile
- Data
- Data you publish in the profile (name, city, description, photo, links, certificates, facility affiliations) and non-public data used for verification and moderation (e.g. full name).
- Purpose
- Public profile, verification and moderation.
- Basis
- Art. 6(1)(b) and (f).
- How long
- Until the profile or the account is deleted.
Technical data
- Data
- IP address, time, requested address and browser in the hosting server logs; language and theme settings.
- Purpose
- Security, diagnostics and running the service.
- Basis
- Art. 6(1)(f).
- How long
- As set by the hosting provider [TO BE VERIFIED: log retention period].
3. Device location
The service asks your browser for the device location in three places. The browser always decides: you can refuse, and the service keeps working, only without the distance-based features.
- Map. When you open the map, the browser may ask for permission. If you allow it, the map sends your coordinates to the database to find facilities within the chosen radius and to compute distances. The coordinates are used only for that request; we do not store them [TO BE VERIFIED: that the database provider’s logs do not record request contents].
- “Near me” filter on the events list. The coordinates stay in your browser; your device computes the distances.
- “I’m here”. Coordinates and the measurement accuracy reach the server only at the moment you tap the button. The server checks that you are within 300 m of the facility (the measurement may not be less accurate than 200 m), answers and forgets the coordinates. We store only your account, the facility, the day and the time the entry was created. We do not store coordinates or distances, and our application does not put them in its logs. Limits apply: one entry per facility per day, at most 6 in 24 hours and 10 minutes between entries.
4. The “Share feedback” form
The “Share feedback” form lets you report a bug, an idea or an opinion about the service. You can use it without an account.
- What we store. The kind of feedback, subject and text, language, the page you report from, and technical data added automatically: browser and system, window size, theme and app version. If you are signed in we also store the link to your account; if not, you may give an e-mail address for a reply. For reports without an account we store an irreversible hash (HMAC) of the network address, only to limit how many reports can be sent; the address itself is not stored.
- Where it goes. We save the report in our database first. Then we pass its text to GitHub (GitHub Inc., USA) as an Issue in the team's private repository. We do not pass your e-mail address or account identifier there, and e-mail addresses and phone numbers written in the text are masked beforehand. Do not enter data in the form that you do not want to share with the team.
- Attachments. You can add up to 3 photos or PDF files to a report. Photos are shrunk and stripped of metadata (including location data) in your browser, before they leave your device; PDF and GIF files are sent unchanged. A file is kept in our database with the report only until it is passed to GitHub; after that it is kept in the team's private repository and removed from the database. A file of a report that is not passed on (for example one held as spam) is deleted from the database after 30 days. Do not attach photos or documents that show other people's personal data.
- Sorting by an AI model. The text of the report (after masking) is analysed by the AI model “Jev” from the provider TypeSafe AI (USA): it determines the kind and area of the report and its urgency, and detects spam and similar reports. According to the provider's terms the text is not used to train models [TO BE VERIFIED: confirm in the provider's terms or contract]. The model makes no decision about you with legal effect; reports judged to be spam are held back for a manual check by an administrator.
- Purpose, legal basis and period. Purpose: handling feedback, improving the service and protection against abuse. Basis: Art. 6(1)(f) GDPR. Period: as for other reports [TO BE VERIFIED: period, e.g. 12 months after the report is closed].
The providers that process this data are listed in the section Who processes your data for us and where it is stored.
5. Legal bases
- Consent (Art. 6(1)(a) GDPR): e-mail notifications and “I’m here”. You can withdraw it at any time; withdrawal does not affect the lawfulness of earlier processing.
- Contract (Art. 6(1)(b)): the account, reviews, sign-ups and the other features you use — the rules are in the Terms.
- Legitimate interest (Art. 6(1)(f)): security of the service, protection against abuse and spam, content moderation, handling reports, and establishing or defending legal claims.
We make no automated decisions about you and do not profile you within the meaning of Art. 22 GDPR.
6. Who processes your data for us and where it is stored
Your data is processed on our behalf by service providers (processors) [TO BE VERIFIED: confirm the data processing agreements]. We do not sell data and do not use it for advertising.
Supabase
- Role
- Database, sign-in and file storage.
- Data
- Account data and the content described above.
- Where
- Project region: [TO BE VERIFIED: confirm in the Supabase dashboard].
Vercel
- Role
- Hosting of the service.
- Data
- IP address and technical request data; request contents pass through the hosting servers.
- Where
- [TO BE VERIFIED: region where functions run].
Resend
- Role
- Sending e-mail notifications.
- Data
- E-mail address and message content — only for people who turned notifications on.
- Where
- [TO BE VERIFIED: processing location].
OpenFreeMap
- Role
- Map provider (independent).
- Data
- When the map is shown it receives your IP address and which part of the map you view.
- Where
- —
CARTO and OpenStreetMap
- Role
- Fallback map tile provider (independent).
- Data
- The same, only when the main map cannot be displayed.
- Where
- —
GitHub (GitHub Inc.)
- Role
- Storing reports from the “Share feedback” form as Issues in the team's private repository.
- Data
- Subject and text of the report (e-mail addresses and phone numbers masked), kind, language, technical data. No e-mail address or account identifier.
- Where
- USA.
TypeSafe AI (model “Jev”)
- Role
- Sorting reports: kind, area, urgency, spam, similar reports.
- Data
- Subject and text of the report after e-mail addresses and phone numbers are masked.
- Where
- USA. According to the provider's terms not used to train models [TO BE VERIFIED].
Some facility photos are loaded from the facilities’ own websites — their owners then see your IP address, as with any visit to their site.
Providers may process data outside the European Economic Area, notably in the USA. In that case we rely on the mechanisms of Chapter V GDPR, such as standard contractual clauses or an adequacy decision [TO BE VERIFIED].
Data may also be received by public authorities where the law requires it, and by moderators and people managing facilities — to the extent described in the table above.
We currently use no analytics or advertising tools [TO BE VERIFIED: confirm on the publication date].
8. How long we keep data and how we protect it
Retention periods for each group of data are in the table. In general: we keep account data and content until the account is deleted, and after deletion we delete or anonymise related data. Data needed to establish or defend legal claims may be kept until the limitation period ends [TO BE VERIFIED: scope and duration; provider backups].
We protect data with an encrypted connection (HTTPS), by storing passwords only as a hash, and with access rules in the database so that an ordinary user can read only their own private data.
9. Your rights and how to exercise them
You have the right to:
- access your data and get a copy (Art. 15 GDPR),
- rectify your data (Art. 16),
- erase your data (Art. 17),
- restrict processing (Art. 18),
- data portability — data you gave us, in a machine-readable format (Art. 20),
- object to processing based on our legitimate interest (Art. 21),
- withdraw consent at any time (Art. 7(3)),
- lodge a complaint with the President of the Personal Data Protection Office (UODO; ul. Stawki 2, 00-193 Warsaw, uodo.gov.pl) or with the supervisory authority of your country.
Write to [ADRES E-MAIL DO SPRAW DANYCH OSOBOWYCH]. We answer without undue delay and at the latest within one month (Art. 12(3) GDPR). To protect your account, please write from the e-mail address the account uses, or confirm your identity another way.
Some things you can do yourself: correct your name in your profile, delete your reviews, turn off notifications in account settings, delete the stamps in your sauna passport.
Deleting your account and downloading your data are handled manually for now. In account settings, in the “Your data” section, you will find ready-made messages “Delete account” and “Download my data”. When in-app deletion and export exist, we will describe them here.
10. Are you required to provide data
Browsing the service needs no account and no data. To create an account we need an e-mail address and a password — without them we cannot create it. The rest (name, reviews, photos, consent to e-mail and location) is voluntary; without it you only lose the features that need it.
11. Changes to this policy
When we change the rules we will update the effective date and, for material changes, tell signed-in users by e-mail or in the service. We will provide the previous version on request.