WC FINDER

Privacy Policy

Effective date: 12 March 2026  ·  Last updated: 12 March 2026

1. Who We Are (Controller)

WC Finder is the data controller for personal data collected through the WC Finder mobile application and associated web service. For the purposes of the EU General Data Protection Regulation (GDPR) 2016/679, we are responsible for how your personal data is processed.

For any privacy-related enquiries or to exercise your rights, please use the Support section in the WC Finder app or contact us at the email address listed in the App Store / Google Play listing.

2. Personal Data We Collect

2.1 Account Data

When you register an account we collect:

• Username (chosen by you, publicly visible on your listings and reviews);
• Email address (used for account verification, password reset, and service communications);
• Password (stored as a bcrypt hash — we never store your plain-text password);
• Email verification status and token;
• Account creation timestamp.

2.2 Payment Data

When you make a payment (Remove Ads purchase or voluntary donation), we collect:

• Stripe Customer ID — a pseudonymous identifier assigned by Stripe;
• Ads-removed status (a boolean flag stored in our database);
• Payment type and amount (received via Stripe webhook).

We do not store or process your payment card number, CVV, or banking details. All card processing is handled exclusively by Stripe, Inc. Please review Stripe's Privacy Policy at https://stripe.com/privacy.

2.3 User-Generated Content

Content you voluntarily submit is stored and displayed publicly:

• Toilet listings: name, GPS coordinates, address, city, country, description, opening hours, price, payment options, features, location type, and photographs;
• Reviews: star rating and optional comment, linked to your username.

2.4 Location Data

The App requests access to your device's location to show nearby toilets on the map and to pre-fill coordinates when you add a new listing. Location data is processed on-device and is not transmitted to our servers except as part of a toilet listing that you explicitly choose to submit.

When a toilet listing is submitted, the GPS coordinates you provide are sent to the Nominatim reverse-geocoding API (operated by the OpenStreetMap Foundation) solely to resolve the city and country name. No other personal data is sent to Nominatim.

2.5 Session Data

We use a single, strictly necessary HTTP session cookie to maintain your logged-in state. This cookie is HttpOnly and is not accessible to JavaScript. It expires after 30 days of inactivity. No consent banner is required for this cookie under GDPR Recital 66.

2.6 Advertising Identifiers (Free Users)

If you use the free version of the App, Google AdMob (mobile) and Google AdSense (web) may collect advertising identifiers and usage data to serve personalised or contextual advertisements. This data collection is governed by Google's Privacy Policy at https://policies.google.com/privacy. Users who purchase 'Remove Ads' are not shown advertisements, and AdMob/AdSense SDKs are inactive for their sessions.

2.7 Transactional Emails

We use Resend (resend.com) to send transactional emails including account verification links and password reset links. Resend processes your email address as a data processor on our behalf. No marketing emails are sent.

3. Legal Bases for Processing (GDPR Art. 6)

• Account data, session cookie — Art. 6(1)(b): Performance of a contract;
• Email verification, password reset emails — Art. 6(1)(b): Performance of a contract;
• Payment processing, Stripe Customer ID, ads-removed flag — Art. 6(1)(b): Performance of a contract;
• User-generated listings and reviews — Art. 6(1)(b) / Art. 6(1)(a): Consent;
• Location-based reverse geocoding via Nominatim — Art. 6(1)(b): Performance of a contract;
• Advertising (free users, Google AdMob/AdSense) — Art. 6(1)(f): Legitimate interests, and where required, Art. 6(1)(a): Consent;
• Security, fraud prevention, legal compliance — Art. 6(1)(c): Legal obligation / Art. 6(1)(f): Legitimate interests.

4. How We Use Your Data

• To create and manage your account, including email verification and password reset;
• To display community-submitted toilet listings on the map and in list views;
• To process and fulfil in-app purchases and donations via Stripe;
• To permanently remove ads from your account after a successful purchase;
• To serve advertisements to free-tier users via Google AdMob and Google AdSense;
• To auto-resolve city and country from submitted GPS coordinates via Nominatim;
• To send you transactional emails (verification, password reset) via Resend;
• To detect and prevent fraud, abuse, and violations of our Terms of Use;
• To comply with legal obligations.

5. Data Sharing & Third-Party Processors

We do not sell your personal data. We share data only with the following processors, under data processing agreements where required by GDPR:

• Stripe, Inc. — payment processing (Stripe Customer ID, payment metadata). Transfers outside the EU are covered by Stripe's Standard Contractual Clauses.
• Resend, Inc. — transactional email delivery (email address, username). Data processed in the EU/US under SCCs.
• OpenStreetMap Foundation / Nominatim — reverse geocoding (GPS coordinates only, no personal identifiers).
• Google LLC (AdMob / AdSense) — advertising to free-tier users. Transfers outside the EU are covered by Google's SCCs.
• Our hosting provider — PostgreSQL database and Express.js backend hosting under a DPA.

We may also disclose data if required by law, court order, or to protect the rights and safety of WC Finder or its users.

6. International Data Transfers

Some of our processors (Stripe, Resend, Google) are based in the United States. Transfers are safeguarded by EU Standard Contractual Clauses (SCCs) or equivalent adequacy mechanisms under GDPR Chapter V.

7. Data Retention

• Account data — retained for as long as your account exists, plus up to 90 days after deletion;
• Toilet listings and reviews — retained until you delete them or until your account is deleted;
• Session cookies — expire after 30 days of inactivity;
• Unverified accounts — verification tokens expire after 24 hours; unverified accounts may be purged after 30 days;
• Password reset tokens — expire after 1 hour;
• Payment records — retained for 7 years as required by EU financial regulations;
• Stripe Customer IDs — retained for as long as necessary to fulfil your purchase.

8. Your Rights Under GDPR

As a data subject in the EU or EEA you have the following rights:

• Art. 15 — Right of access: obtain a copy of your personal data;
• Art. 16 — Right to rectification: correct inaccurate data;
• Art. 17 — Right to erasure ('right to be forgotten'): request deletion;
• Art. 18 — Right to restriction: ask us to limit processing;
• Art. 20 — Right to data portability: receive your data in a machine-readable format;
• Art. 21 — Right to object: object to processing based on legitimate interests;
• Art. 7(3) — Right to withdraw consent at any time.

To exercise any of these rights, please contact us via the Support section in the App or by email. We will respond within 30 days. You also have the right to lodge a complaint with your national supervisory authority.

9. Security

We implement appropriate technical and organisational measures to protect your personal data, including:

• Passwords hashed with bcrypt (cost factor 12);
• Session cookies marked HttpOnly and SameSite=Lax;
• HTTPS-only communication between the App and our servers;
• Stripe webhook signature verification;
• Database access restricted to our backend service only.

In the event of a personal data breach likely to result in a risk to your rights and freedoms, we will notify the competent supervisory authority within 72 hours, as required by GDPR Art. 33–34.

10. Children's Privacy

The Service is not directed at children under the age of 16. We do not knowingly collect personal data from anyone under 16. If we become aware that a child under 16 has provided personal data, we will delete it promptly. If you believe a child has registered, please contact us immediately.

11. Changes to This Policy

We may update this Privacy Policy from time to time. Material changes will be communicated via an in-app notice or email. The 'Last updated' date at the top of this document will always reflect the most recent version. Continued use of the Service after a change constitutes acceptance of the updated Policy.

12. Contact & Supervisory Authority

For privacy enquiries, data subject requests, or to report a concern, please contact us via the Support section in the WC Finder app or by email at the address provided in the App Store / Google Play listing.

You have the right to lodge a complaint with your local data protection authority. A list of EU supervisory authorities is available at: https://edpb.europa.eu/about-edpb/about-edpb/members_en