This policy explains what data the NS Team Attendance app (iPhone, iPad and Android) processes, why, for how long, and what your rights are. It is written to be read: if anything is unclear, write to us.
1. Who is the data controller
Nicola Salvaro (NS App Dev), VAT no. (P.IVA) 04592340238, Via Casotti 1754 int. 1, 37050 Isola Rizza (VR), Italy. Privacy email: nsalvaro@hotmail.com. App support: nscoachtools@gmail.com.
2. Two ways to use the app
- Without an account (free): teams, athletes, sessions and attendance stay only on your device. We do not receive them. They disappear if you uninstall the app.
- With a Premium account: you sign in with Google or Apple and your data is stored in the cloud (Google Firebase), so you can use it on more devices and share teams with other Premium users.
3. What data we process
| Data | When | Where it comes from |
|---|---|---|
| Account: name, email address and account identifier | Only when signed in (Premium) | Google or Apple, when you sign in. With Apple you can choose to hide your email |
| Team data: team names, athlete names, dates and times of sessions (training or match), attendance with arrival and leaving times, who you shared a team with and with which permissions | Only when signed in (Premium) | You enter it |
| Premium: expiry date and purchase identifiers | Only when signed in (Premium) | From the purchase on the App Store or Google Play. We never receive your card details or payment method: payment is handled by Apple and Google |
| Technical data about crashes and errors: device model, system and app version, when and where in the code the problem happened, an installation identifier | Always | Firebase Crashlytics. We remove email addresses and data paths from error messages before sending them |
| App verification: a token proving that requests come from the genuine app | Always | Firebase App Check, with Apple App Attest / DeviceCheck or Google Play Integrity |
| Configuration: the minimum app version required | Always | Firebase Remote Config (read only) |
| Usage statistics (see section 6) | Only if you agree | Google Analytics for Firebase |
| Network time: the app asks public time servers (NTP) for the exact time, to calculate the Premium expiry correctly. Those servers see your device's IP address | Always | Public NTP servers |
We do not use advertising, we do not sell data and we do not track your activity in other apps or websites.
4. Your athletes' data
If you record your athletes, you (or the sports club you coach for) decide which data to enter and why: for the athletes' data you are the data controller. When this data is in the cloud, we process it only on your behalf and only to make the app work (we are the data processor). The terms of this processing are in the Terms of Use.
The app only asks for the athlete's name and attendance: please do not enter anything else (for example health data or reasons for absence). Many athletes are minors: it is up to you or the club to inform them and, where necessary, to obtain their parents' consent.
5. Why we process data and on what legal basis
| Purpose | Legal basis (GDPR) |
|---|---|
| Creating and managing your account, storing and syncing data, sharing teams, managing Premium | Performance of the contract (art. 6.1.b) |
| Finding and fixing crashes and errors (Crashlytics), protecting the service from abuse (App Check), requiring mandatory updates (Remote Config) | Legitimate interest in offering a stable and secure app (art. 6.1.f) |
| Usage statistics (Analytics) | Your consent (art. 6.1.a), which you can withdraw at any time |
| Keeping tax records of purchases | Legal obligation (art. 6.1.c). Receipts are issued by Apple and Google |
6. Usage statistics (Google Analytics for Firebase)
On first launch the app asks whether you want to help us with usage statistics. If you do not accept, Analytics stays off and the app works exactly the same.
If you accept, Analytics automatically collects, for example: how often and for how long you open the app, which screens you view, whether you purchase Premium, the app version, device model and system version, approximate country, an installation identifier. It does not use your name, your email or your team data, and it is not used for advertising.
You can change your choice at any time with "Privacy preferences" on the first screen of the app. If you withdraw your consent, collection stops and the Analytics data on the device is reset. Analytics data linked to a single installation is kept for 2 months; after that only aggregated statistics remain, which no longer relate to anyone in particular.
7. Who processes data on our behalf
- Google (Firebase): Firebase Authentication, Cloud Firestore, Crashlytics, App Check, Remote Config, Google Analytics for Firebase. Google acts as our processor under its data processing terms.
- Apple and Google as app stores and for sign-in (Sign in with Apple, Sign in with Google): their privacy policies also apply to these functions.
We do not share data with anyone else, except where required by law.
8. Where the data is
Team and account data is stored in Cloud Firestore in the European Union (Belgium and the Netherlands). Technical data from Crashlytics, App Check and Analytics may also be processed by Google outside the EU, in particular in the United States. In that case the transfer is protected by the EU-US Data Privacy Framework, to which Google adheres, and by the European Commission's standard contractual clauses.
9. How long
- Account and team data: as long as you have the account. When you delete it from the app, it is deleted immediately.
- Inactive accounts: if you do not sign in for 24 months and your Premium has expired, we delete the account and the team data. We will warn you by email beforehand, where possible, at least 30 days in advance.
- Expired subscription: until then the data stays in the cloud, so you find it again if you renew.
- Please note: by deleting the account (or through deletion for inactivity) you also lose any Premium still active, which cannot be recovered or refunded by us.
- Crashes and errors (Crashlytics): up to 90 days.
- Usage statistics (Analytics): 2 months for data linked to the installation.
- Data without an account: only on your device, until you uninstall the app.
10. Your rights
You can ask at any time to access your data, correct it, delete it, restrict its processing, object to processing based on legitimate interest and receive a copy of the data you gave us (portability). You can withdraw your consent to Analytics at any time, without any effect on the use of the app.
- Deleting the account: from the app (first screen, "Delete user") or by following the instructions at https://nsappdev.com/team-attendance/delete-account.
- Other requests: write to nsalvaro@hotmail.com. We reply within one month.
- Complaints: if you think the processing is not correct, you can contact the Italian Garante per la protezione dei dati personali (www.garanteprivacy.it) or the authority of your country.
If you are an athlete registered by a coach, please contact the coach or the club first, as they are the controllers of your data. We can still help you.
11. Age
To create a Premium account you must be at least 16 years old. The app is designed for coaches and sports clubs.
12. Security
Communications between the app and the servers are encrypted. Access to data in the cloud is limited to the account holder and the people they have shared a team with.
13. Changes
If we change this policy in an important way, we will tell you in the app. The date of the last update is at the top of the page.