RosaneroRosanero
FeaturesNewsCommunityStandingsSupport
ITEN
Beta open
FeaturesNewsCommunityStandingsSupportPublic beta
LegalTerms of ServicePrivacy policySupportAccount deletion
On this page1. Data controller2. Use without an account3. What we process4. Purposes and legal basis5. Where the data comes from6. Who we share it with7. Transfers outside the EEA8. Retention9. Deleting your account10. Your rights11. Children12. Changes
Legal · Privacy

Privacy Policy

Last updated: 27 October 2026Applies to: the Rosanero app for iOS and Android and the website rosanero.app

Rosanero is an unofficial app for Palermo F.C. supporters. It is not affiliated with, sponsored by, or endorsed by Palermo F.C. or any league or federation. This policy explains what personal data we process when you use the app, why, and what rights you have.

The Italian version of this policy prevails in case of any discrepancy.

1. Data controller

The data controller is Vincenzo Stira, who can be contacted at support@rosanero.app for any request concerning your data.

No Data Protection Officer has been appointed, as the conditions requiring one do not apply.

2. You can use Rosanero without an account

Matches, results and standings are browsable without signing up, and the suggestions board works without an account too. If you do not create an account we process no identifying data: only the technical and diagnostic data described in § 3.3, the push notification registration (§ 3.6), the technical information needed to deliver content to you and, if you use the board, what you send us there (§ 3.4).

3. What we process

3.1 Account data

If you create an account, we process:

  • your name and email address, and whether the email has been verified;
  • the link to your profile picture that Google supplies, if you sign in with Google: we keep only the address; the app neither downloads nor shows the picture;
  • your password, if you choose email and password sign-in — never stored in the clear, only as a cryptographic hash;
  • the 6-digit verification codes (OTP) sent by email, stored only as a hash for the 10 minutes they are valid;
  • the identifiers of your linked identities (Apple, on iPhone only; Google; email and password) and the tokens the provider issues for them.

If you use Sign in with Apple and choose “Hide My Email”, we receive an anonymous @privaterelay.appleid.com forwarding address, not your real one.

3.2 Session data

To keep you signed in we process a session token and its expiry and — recorded by the server when the session opens — the device’s IP address and user agent. On your device the token is stored like this: on iPhone, in the system Keychain; on Android, encrypted with a key held in the Android Keystore and excluded from device backups. The app also holds a short-lived token, kept in memory only, to reach protected content.

3.3 Diagnostic and usage data

Distributed builds of the app include Google’s Firebase Crashlytics and Firebase Analytics:

  • on iPhone, the App Store and TestFlight builds and the test builds distributed with Firebase App Distribution;
  • on Android, the Google Play builds and the test builds distributed with Firebase App Distribution.

Crashlytics collects crash reports (the stack trace and the app’s state at the time of the error), the device model, the OS version, the app version and an installation identifier.

Analytics collects automatic usage events, for example sessions, first open and time spent using the app. On iPhone the app also logs events of its own, describing how you use it: for example the screens you open and the main controls you tap. These events name only the screen, the control or the option chosen, never personal data, and the app does not link Analytics to your account. Analytics uses an app-instance identifier generated by the library; Google derives an approximate location from the IP address, at country or city level.

Analytics is on from installation. On iPhone you can turn it off whenever you like under Settings → Privacy → Share usage statistics: while it is off the app sends nothing more to Analytics, and the identifier kept on the device is reset, so if you turn it back on it starts again with a new one, not linked to the previous one. The Android app does not have the switch yet: you can object by writing to us (§ 10). Crashlytics has no switch: you can object to crash reports by writing to us too.

We do not collect the advertising identifier: on Android it is disabled, on iPhone the app does not ask for tracking permission. We do not use this data for advertising or profiling and do not combine it with your account data. Internal development builds do not configure Firebase and send nothing.

3.4 Suggestions board

In Settings → Suggestions & reports you can send suggestions and bug reports and vote on other people’s requests, with or without an account. When you send a request, the FeedbackThread service receives: the kind (suggestion or report), the title and text you write, the platform, the app version and an identifier. If you are signed in, the identifier is your account’s; otherwise it is a random identifier, generated and kept on your device. Your votes are recorded with the same identifier too. Your name and email are not sent to FeedbackThread.

Requests are moderated before publication: nobody else sees them until we approve them. An approved request, title and text, becomes public on the app’s board, on iPhone and on Android, without your name. So do not put personal data, yours or anyone else’s, in the title or text.

3.5 Signing up for the beta on the website

If you sign up for the public beta on the website’s Public beta page, we process the email address you enter, the platform you pick (iPhone or Android), your phone model, the page language and the time of sign-up. We need the model to check that the app can be installed and to test it on a range of devices. This data reaches us by email at support@rosanero.app, through Resend, and we only use it to invite you to the test and to write to you during the beta: never for newsletters or ads. The beta is invite-only: if your request is not accepted, we delete it right after reviewing it. To invite you we add your email address to TestFlight (Apple), for iPhone; for Android, to Firebase App Distribution (Google) or to the Google Play tester list (Google). These services receive your email address and send you the invite. Firebase App Distribution keeps tester data (the email and data about the device you install the test build on) until we remove you from the testers. To prevent abuse the server also uses the IP address of the request, only for as long as it takes to limit repeated submissions.

3.6 Push notifications

On iPhone the app can send you push notifications, for example about matches. You choose which types you get. To deliver them we use our own notification service, on our server, and Apple Push Notification service (APNs), Apple’s service that brings notifications to the iPhone.

Every time it opens, even if you have not turned notifications on yet, the app registers its installation on our server. For each installation we keep:

  • an installation identifier, random, created by the app and kept on the iPhone: if you reinstall the app, it creates a new one;
  • the notification token Apple assigns to the app on that iPhone, the APNs environment it belongs to (test or production) and the app’s identifier (bundle id);
  • the club you get notifications for;
  • the language of the notifications, one of the app’s, taken from the device’s;
  • the app version;
  • the notification permission status (for example granted, denied or not asked yet);
  • your preferences: which types of notifications you want to get;
  • the date and time of the last registration;
  • if you are signed in, the link to your account. When you sign out or delete the account, the link is removed and the installation stays anonymous.

For every notification sent we also record the delivery outcome (for example sent, expired or refused by Apple). To prevent abuse the server uses the request’s IP address in memory only, for as long as it takes to limit repeated requests.

We use this data only for notifications, and we send them to you only if you have granted the permission and left that type on. Apple receives the token and the content of the notification, not your name or your email. On iPhone, notifications do not go through Firebase.

You can turn them all off in the iPhone’s Settings app (Notifications → Rosanero), or per type in the app, under Settings → Notifications. While they are off we send you nothing, but the app keeps registering the installation with its new status, so notifications resume if you turn them back on. For now the Android app does not use push notifications and registers none of this.

4. Why we process it, and on what legal basis

Purpose Data Legal basis (GDPR art. 6)
Creating and running your account, keeping you signed in § 3.1, § 3.2 Performance of a contract — (b)
Verifying your email and allowing password recovery § 3.1 Performance of a contract — (b)
Security: preventing abuse and unauthorised access, rate-limiting § 3.2 Legitimate interest — (f)
Usage statistics: understanding which screens and features are used § 3.3 (Analytics) Legitimate interest — (f)
Diagnosing crashes and faults § 3.3 (Crashlytics) Legitimate interest — (f)
Handling suggestions and reports, replying, and publishing the approved ones on the board § 3.4 Legitimate interest — (f)
Inviting you to the beta and writing to you during the test § 3.5 Consent — (a)
Sending you the push notifications you turned on § 3.6 Legitimate interest — (f)

You can object to processing based on legitimate interest (§ 10): to usage statistics with the Share usage statistics switch (on iPhone) or by writing to us, to crash reports by writing to us, to notifications by turning them off.

We do not process special categories of data under GDPR art. 9, and we take no automated decisions producing legal effects concerning you.

5. Where the data comes from

From you directly, or — when you choose to sign in with Apple (on iPhone) or with Google — from the provider, which gives us an identifier, the associated email address and, where available, your name and (Google only) the link to your profile picture. We never receive your password for those services.

6. Who we share it with

We do not sell your data and do not share it for third-party marketing. The following providers process it on our behalf, as processors or as independent controllers:

  • Apple (on iPhone) and Google, as identity providers, for sign-in;
  • Resend, for sending verification and password-recovery emails and for forwarding beta sign-ups to us;
  • Apple (TestFlight) and Google (Firebase App Distribution and Google Play), when we invite you to the beta;
  • Google (Firebase), for diagnostics and usage analytics;
  • Apple (Apple Push Notification service), for delivering push notifications to the iPhone;
  • FeedbackThread, for the suggestions board;
  • the hosting provider of the infrastructure the service runs on.

Other users of the app see the requests we approve on the board (§ 3.4).

We may also disclose data to judicial or other competent authorities where the law requires it.

7. Transfers outside the European Economic Area

Some of the providers listed above are based in the United States. Where this involves a transfer of data outside the EEA, it takes place on the basis of the European Commission’s standard contractual clauses or an adequacy decision, as provided for in Chapter V of the GDPR.

8. How long we keep it

  • Account data: for as long as the account exists. If you delete it, the data attached to it is deleted with it (see § 9). It then remains only in the nightly database backups, kept on the same server: we delete those older than 7 days, so within 10 days no trace of it remains.
  • Sessions: until they expire or you sign out.
  • Verification codes: 10 minutes, as long as they are valid.
  • Diagnostic data: crash reports 90 days; usage events 2 months, after which only aggregated reports remain, which do not identify anyone.
  • Push notifications: we delete an installation’s registration after 90 days in which the app does not register again, for example because you uninstalled it, or earlier if Apple tells us the token is no longer valid; delivery outcomes, 30 days. They are gone from the nightly database backups within 10 days, as account data is.
  • Suggestions board: approved requests stay public for as long as the board is active, even after the account is deleted, and we remove them if you ask us to (see § 9); other requests, for as long as it takes to handle them.
  • Support emails (including deletion requests): 12 months from the last message.
  • Beta sign-ups: if the request is accepted, until the end of the test programme, or earlier if you withdraw your consent or ask us to delete them; if it is not accepted, we delete it right after reviewing it.

9. Deleting your account

You can delete your account from inside the app, under Settings → Delete Account. Deletion is immediate: it removes your profile, your linked identities and your sessions, unlinks your devices’ push notification registrations from the account, revokes the authorisation you granted to Apple if you had signed in with Apple, and the app signs you out, removing the session token from your device. It is irreversible.

It does not delete: the requests approved on the board, which we remove if you ask us to, even without deleting the account; Firebase data, which is not linked to the account; the push notification registrations, which stay anonymous, so you keep getting the notifications you turned on (§ 3.6); your emails with support; the database backups, where the data stays for at most 10 days. Retention periods are in § 8. Step-by-step instructions, including for people who no longer have the app, are on the Account deletion page.

10. Your rights

Under GDPR arts. 15–22 you have the right to access your data, to have it rectified or erased, to restrict processing, to data portability, and to object to processing based on legitimate interest. Write to support@rosanero.app to exercise them; we will reply within one month. To object to usage statistics you do not need to write: on iPhone, just turn off Settings → Privacy → Share usage statistics, at any time. To stop getting push notifications, turn them off in the iPhone’s settings or, per type, under Settings → Notifications. If you signed up for the beta you can also withdraw your consent at any time, at the same address: withdrawal does not affect processing carried out before it.

You also have the right to lodge a complaint with the Italian Data Protection Authority (Garante per la protezione dei dati personali, www.garanteprivacy.it) or with the supervisory authority of the country where you live.

11. Children

The app is not intended for children under 14 and we do not knowingly collect their data. If you believe a child has given us personal data, write to support@rosanero.app and we will delete it.

12. Changes to this policy

We may update this policy; the date at the top always identifies the current version. If changes are substantial we will tell you in the app before they take effect.

Rosanero is an independent fan project, not affiliated with Palermo F.C.

Rosanero

© 2026 Rosanero · An independent fan project, not affiliated with Palermo F.C.
An app by monoidx.

TermsPrivacySupportDelete account