noelle
← noelle.basketball · Privacy Policy

Privacy Policy

Last updated 2026-06-17 · Version 1.1 (Beta — not yet independently legally reviewed)

English Deutsch

This Privacy Policy explains how the noelle service collects, uses, and shares personal data of users of the noelle mobile application and website (noelle.basketball, the Service).

German residents: a German-language version is available at noelle.basketball/privacy/de. In case of conflict, the German version prevails for users resident in Germany.

0. Operator and nature of the Service

The Service is currently operated as a private, non-commercial project by:

Alexander Hurley
noelle basketball
c/o flexdienst – #21344
Kurt-Schumacher-Straße 76
67663 Kaiserslautern
Deutschland

Contact: hello@noelle.basketball (general), privacy@noelle.basketball (privacy matters), delete@noelle.basketball (data-deletion requests).

noelle is not a registered business at this time. We do not charge for the Service, do not run advertising, and do not earn revenue from your use of it. If this ever changes (see §12 Future commercial operation), we will tell you in advance and require separate, explicit opt-in to any paid feature — you will never be billed simply because you continued to use the free Service.

The operator is the data controller within the meaning of Art. 4(7) GDPR / DSGVO and the German Federal Data Protection Act (BDSG).

1. Data we collect

1.1 Data you provide

DataPurposeLegal basis
Email addressaccount creation, login, security notificationsArt. 6(1)(b) — contract
Usernameaccount identification, leaderboards, profileArt. 6(1)(b) — contract
Password (bcrypt hash, never plain text)authenticationArt. 6(1)(b) — contract
City and country (optional)location-based filtering, leaderboardsArt. 6(1)(a) — consent
Display name, bio, profile photo (optional)public profileArt. 6(1)(a) — consent
Match results, scores, dispute notesgameplay, leaderboards, fair playArt. 6(1)(b) — contract
Court ratings and reviewshelping other users discover quality courtsArt. 6(1)(b) — contract

1.2 Data collected automatically

DataPurposeLegal basis
ELO rating, sportsmanship scoregameplay mechanicsArt. 6(1)(b) — contract
Approximate location (only when you grant device permission)nearby-court discovery, event scopingArt. 6(1)(a) — consent
Push notification tokensin-app notificationsArt. 6(1)(a) — consent
Login timestamps, IP addresssecurity, abuse detection, rate limitingArt. 6(1)(f) — legitimate interest
Crash reports and basic device info (OS, app version)reliability, bug fixesArt. 6(1)(f) — legitimate interest

1.3 OAuth (Google, Apple)

If you sign in with Google or Apple, we receive your email address, a provider-issued opaque user ID (sub), and your full name (only the first time you sign in with Apple). We do not receive your Google or Apple password. The OAuth ID is stored only to recognize you on subsequent logins.

1.4 Web hosting and server log data

When you visit noelle.basketball or any API endpoint, our edge server (Caddy, running on Hetzner) necessarily receives request metadata in order to deliver the response:

This data is processed on the legal basis of Art. 6(1)(f) GDPR (legitimate interest) in operating the Service securely. It is used only to deliver content, detect attacks, and diagnose operational problems. Access logs are not used for marketing or profiling. Application access logs are kept for at most 7 days and then rotated out; security-relevant log entries (auth events) follow the retention rules in §1.2 and §5.

1.5 Inquiries via our contact addresses

When you write to one of our published contact addresses (hello@, privacy@, delete@, ops@ at noelle.basketball), we process the contents of your message and your email address.

1.6 Mailing list / newsletter

If you submit your email through a signup form on noelle.basketball or inside the app:

The mailing list is operated through our email-service provider (see §3 Sharing with third parties).

2. How we use your data

We do not sell your personal data. We do not show third-party advertising. We do not use behavioural-tracking SDKs. If any of this changes we will update this policy and notify you at least 30 days in advance.

3. Sharing with third parties

We share the minimum personal data necessary with the following processors (Auftragsverarbeiter). A Data Processing Agreement (DPA) under Art. 28 GDPR will be / is in place with each:

ProcessorPurposeRegionData shared
Hetzner Online GmbH (Germany)application hosting, database storage, backupsEU (Nuremberg / Falkenstein)all application data
Cloudflare, Inc. (USA) — if/when enabledDNS, TLS termination, DDoS protection (proxy-only, no caching of user content)EU edge nodesrequest metadata only (IPs, paths)
Brevo SAS (France) — primary email provider for newsletter, transactional, and admin broadcastsnewsletter delivery, password-reset emails, service announcements, legal noticesFrance (EU)email address, message subject + body
Expo / 650 Industries, Inc. (USA) — push notification relayaggregates outgoing push notifications and forwards them to APNs / FCM for delivery to your deviceUSA (transient — payloads buffered briefly, not stored long-term)Expo push token (opaque per-device string) + notification title + body
Apple Inc. (USA) — Apple Push Notification service (APNs)terminal delivery hop for iOS push notifications; also "Sign in with Apple" identity verificationUSApush token + notification payload; OAuth identity data for sign-in
Google LLC / Google Ireland Ltd.Firebase Cloud Messaging (FCM)terminal delivery hop for Android push notifications; also "Sign in with Google" identity verificationUSA / Ireland (EU)push token + notification payload; OAuth identity data for sign-in

US-based processors are covered by the EU-U.S. Data Privacy Framework (adequacy decision, July 2023) and by Standard Contractual Clauses (SCCs) where applicable.

A note on the unavoidable terminal hop. Mobile push notifications must terminate at either Apple's APNs (for iPhones / iPads) or Google's FCM (for Android devices). There is no technical path for any app to deliver a notification to an iOS or Android device that bypasses these services — they are operated exclusively by Apple and Google respectively. We use Expo's relay only to batch and route notifications to the correct terminal service; the relay itself does not change the fact that the final delivery hop is operated by a US-headquartered company. If you do not want push notification metadata to traverse Apple or Google infrastructure, you can disable notifications at the operating-system level — we will fall back to email (Brevo, France) and in-app banners (served from our own Hetzner servers) for any important messages, including legal notices and security alerts.

Sensitive content does not traverse the push channel. For the "legal — security incident" classification, we replace the push body with a generic prompt ("Important security update — open the app for details") so that the substance of any breach notification reaches you only via email and in-app banner, never via the US-based push relays.

We do not transfer personal data to any other third party except when required by law, with your explicit consent, or to the operator's legal counsel in the event of a legal dispute concerning the Service.

4. Retention

DataRetention period
Account profile (email, username, etc.)until you delete your account
Match history, rankings, badgesuntil account deletion
Refresh tokens7 days from issue, rotated on each refresh
Login timestamps and IP logs90 days, then anonymized
Crash reports180 days
Newsletter confirmed addressesuntil you unsubscribe or delete your account
Newsletter unconfirmed addresses30 days, then deleted
Push notification tokensuntil you disable notifications in the OS, uninstall the app, or delete your account
Broadcast delivery records (which user received which message)12 months, for audit + bounce diagnosis
Backup snapshots30 days rolling, then overwritten

When you delete your account (see §5), we hard-delete your profile and all directly linked records (matches, rankings, badges, push tokens, refresh tokens, event participations, ratings). Authored content that benefits other users (e.g. courts you registered, events you hosted) is preserved in anonymized form — your name is removed and replaced with a generic placeholder.

If the Service ever transitions to commercial operation (§12), payment records will be retained for 10 years as required by German tax law (AO §147). This only applies to records created after you have opted into paid features.

5. Your rights (GDPR Art. 15–22)

You have the right to:

6. Security

We will notify affected users and the responsible supervisory authority within 72 hours of becoming aware of a personal-data breach (Art. 33–34 GDPR).

7. Children

The Service is not directed at children under 16. We do not knowingly collect personal data from children under 16 without parental consent (Art. 8 GDPR). Parents who believe their child has registered may contact privacy@noelle.basketball for account deletion.

8. Cookies and tracking

The mobile app does not use cookies. The website (noelle.basketball) uses only strictly necessary cookies (session, CSRF) where required. We do not use Google Analytics, Meta Pixel, or any third-party behavioural-tracking SDK. We do not run advertising networks.

9. International users

The Service is operated from Germany. Users outside the EU/EEA should be aware that data is stored on servers located in Germany / EU member states under EU privacy law, which is generally stricter than equivalent regimes elsewhere. By using the Service you consent to processing in the EU.

If you are a California resident, you have additional rights under the CCPA — contact privacy@noelle.basketball to exercise them. If you are a Brazilian resident, you have additional rights under the LGPD — contact the same address.

10. Events, prizes, and third-party organizers

The Service allows users (and the operator) to host events, leagues, and tournaments. When you participate in an event:

11. Changes to this Policy

We will update this Privacy Policy from time to time. Material changes will be announced by an in-app banner the next time you open the app, a push notification (if you have notifications enabled), and an email to your registered address. We will give at least 30 days notice before any material change takes effect.

12. Future commercial operation

The Service is currently free and non-commercial. We reserve the right to introduce paid features (e.g. tournament hosting fees, premium analytics) in the future. If we do:

13. Social media presence

We maintain a presence on Instagram as @noelle.bball for community updates and announcements. Instagram is operated by Meta Platforms Ireland Ltd. (4 Grand Canal Square, Dublin 2, Ireland).

You can object to processing for legitimate-interest grounds at any time under Art. 21 GDPR — contact privacy@noelle.basketball.

14. Contact

ForAddress
Privacy questions, GDPR rights (access, rectification, restriction, portability, objection)privacy@noelle.basketball
Data-deletion requestsdelete@noelle.basketball (include username + registered email address)
Generalhello@noelle.basketball
Postalsee §0 Operator and nature of the Service

The {OPERATOR_NAME} / {OPERATOR_*} placeholders in §0 are filled in on the production server before this page is reached by visitors. This draft is the operator's source-of-truth statement and does not constitute legal advice. A German IT-Recht / Datenschutz attorney should review before commercial launch.