Privacy Policy
Last Updated: March 2026 | Version: 1.1
The Short Version
Crescendo is built privacy-first. Your practice data stays on your device. We only collect anonymous usage analytics if you give explicit consent.
- ✓ All practice data stored locally on your device only
- ✓ Optional anonymous analytics — only with your explicit consent
- ✓ No advertising, tracking across apps, or data sales
- ✓ No account required
- ✓ You can turn analytics off at any time in Settings
Table of Contents
Introduction
Crescendo ("we," "our," or "the app"), developed by Crescendo Piano LLC, is a piano learning application that displays sheet music and helps you practice reading music notation. This privacy policy explains our data practices in plain language.
Our philosophy: We built this app for people who want to learn piano without being tracked or monetized. Your practice data stays on your device. We only collect anonymous usage analytics if you explicitly consent, and you can turn it off anytime.
Data We Do NOT Collect
We want to be explicit about what we don't do:
| What We Don't Do | Details |
|---|---|
| No tracking | We don't track you across apps or websites |
| No advertising | We don't show ads or share data with ad networks |
| No advertising IDs | We disable Google Advertising ID and SSAID collection |
| No personal information | No names, emails, phone numbers, or accounts |
| No location data | We don't collect GPS or precise location |
| No data sales | We never sell or share your data with third parties |
We have not sold or shared any personal information. The only data we collect is anonymous usage analytics, and only with your explicit consent (see Optional Analytics).
We do not collect sensitive personal information as defined by the California Privacy Rights Act (CPRA), including Social Security numbers, precise geolocation, racial or ethnic origin, religious beliefs, genetic data, biometric information, health information, or information concerning sex life or sexual orientation.
Optional Analytics
With your explicit consent, we collect anonymous usage analytics to understand how the app is used and improve it. Analytics are off by default and only enabled if you choose "Accept" when prompted, or turn them on in Settings.
What We Collect (if you consent)
| Data | Example | Purpose |
|---|---|---|
| App interactions | Practice session started, piece imported | Understand which features are used |
| App Instance ID | Random identifier (e.g., abc123def) | Count unique users (not linked to your identity) |
| Device model and OS | Pixel 8, Android 15 | Ensure compatibility |
| App version | 1.2.0 | Track update adoption |
| Country | United States | Localization priorities (derived from IP, IP is not stored) |
What We Do NOT Collect (even with consent)
- ✗ Names, email addresses, or any personal information
- ✗ Advertising identifiers (Google Advertising ID, SSAID)
- ✗ What specific pieces you practice or their titles
- ✗ Individual notes you play or your MIDI input
- ✗ Precise location (GPS)
- ✗ Any data that could identify you personally
How to Control Analytics
- On first launch: You'll see a consent dialog. Choose "Accept" or "Decline."
- Change your mind anytime: Settings > Data > Usage Analytics toggle
- Turn off = collection stops: When you disable analytics, on-device data is deleted immediately and no further data is collected. Previously uploaded anonymous data expires automatically after Google's retention period (14 months)
Data Processor
Analytics data is processed by Google Firebase Analytics (Google LLC). Google acts as a data processor on our behalf and does not use this data for advertising or other purposes. Data is encrypted in transit via TLS.
Data Stored Locally on Your Device
The app stores the following data only on your device:
Practice Data
- • Practice session history
- • Performance statistics
- • Progress tracking
User Preferences
- • App settings
- • MIDI device preferences
- • Display options
Music Library
- • Imported files
- • Piece metadata
- • Thumbnail previews
How It's Stored
- Database: SQLite database in the app's private storage
- Preferences: SharedPreferences (Android) / UserDefaults (iOS)
- Files: App-private file storage
Why We Store This Data
All local data exists solely to provide the app's core functionality—tracking your practice progress, displaying your music library, and remembering your preferences. This is the minimum data needed for the app to work as you expect.
Legal Basis (GDPR): Legitimate interest—we process this data locally on your device to provide the practice tracking functionality you requested when you installed the app.
This data never leaves your device. We have no servers, no cloud storage, and no way to access your information. When you practice, only you know.
How to Delete Your Data
You have complete control over your data:
Delete All Data
- Android: Settings > Apps > Crescendo > Storage > Clear Data
- iOS: Settings > Crescendo > Reset App Data, or delete and reinstall the app
Delete Specific Data
- Practice history: Settings > Data > Clear Practice History
- Individual pieces: Long-press a piece in Library > Delete
- Analytics data: Settings > Data > Turn off Usage Analytics (deletes on-device analytics data and resets your anonymous ID)
Uninstall
Uninstalling the app permanently deletes all associated data from your device.
Third-Party Services
| Service Type | Our Status |
|---|---|
| Analytics | Firebase Analytics (consent-based, anonymous — see Optional Analytics) |
| Advertising | None |
| Crash reporting | None |
| Social media SDKs | None |
| Payment processors | App Store / Play Store only |
Open-Source Libraries
We use open-source software libraries to build the app. These libraries run entirely on your device and do not transmit any data:
- State management (flutter_riverpod) — Manages app state locally
- Database (drift) — Stores practice data in local SQLite
- Sheet music display (webview_flutter) — Renders music notation
- MIDI input (flutter_midi_command) — Connects to your keyboard
- Local notifications (flutter_local_notifications) — Practice reminders (on-device only)
None of these libraries collect, transmit, or share your data.
App Stores
The only external parties involved are:
- Apple App Store / Google Play Store: For app distribution. Their privacy policies govern their data collection, not ours.
Age Requirements
Minimum Age
Crescendo is intended for users aged 13 years and older.
| Region | Minimum Age |
|---|---|
| United States | 13 (COPPA) |
| European Union | 13–16 (varies by country under GDPR) |
| Rest of World | 13 |
Why 13+
- • We do not knowingly collect personal information from anyone, including children
- • Our app functions entirely offline with local-only data storage
- • The 13+ rating aligns with COPPA requirements
- • EU member states set their own minimum age between 13–16 under GDPR Article 8
If You Are a Parent or Guardian
If you believe a child under the applicable age has accessed our app and you have concerns, please contact us at privacy@crescendopiano.app. Since we don't collect data, there is nothing for us to delete—but we're happy to answer any questions.
Future Account Features
When we introduce optional cloud sync, account creation will require users to meet the minimum age for their region. We will implement a neutral date-of-birth verification (not a simple checkbox) at signup to comply with COPPA requirements.
Future Features: Optional Cloud Sync
We plan to offer optional cloud synchronization in a future update. This feature does not exist yet. When implemented:
What Will Change
- • Account creation will be optional (the app will continue to work fully offline)
- • Accounts will require users to meet the minimum age for their region
- • Only data you explicitly choose to sync will be transmitted
- • You will be able to delete your cloud data at any time
What We Will Collect (Future)
- • Email address (for account authentication)
- • Date of birth (for age verification only)
- • Practice data you choose to sync
Your Consent Required
Before enabling any cloud features:
- We will update this privacy policy
- You will be notified in the app
- You must explicitly opt in (we will never auto-enable)
- You can continue using the app without an account
Your Privacy Rights
Because all data stays on your device, you can exercise your privacy rights directly through your device's controls:
| Right | How It Applies |
|---|---|
| Right to Access | All your data is on your device. You have full access through the app. |
| Right to Deletion | Delete via app settings or by uninstalling. |
| Right to Rectification | Edit your data directly in the app. |
| Right to Portability | Your data is in standard SQLite format on your device. |
| Right to Opt Out | There's nothing to opt out of—we don't transmit data. |
| Right to Non-Discrimination | We treat all users equally regardless of privacy choices. |
For California Residents (CCPA/CPRA)
For transparency:
- • We have not sold personal information
- • We have not shared personal information for cross-context behavioral advertising
- • Analytics data is anonymized and not linked to any individual
- • You can opt out of analytics at any time in Settings
For European Users (GDPR)
- Data Controller: Crescendo Piano LLC (contact: privacy@crescendopiano.app)
- Legal Basis: Consent (Article 6(1)(a)) for analytics; legitimate interest for local practice data
- Data Processor: Google LLC (Firebase Analytics) — processes anonymous analytics on our behalf
- Data Processing: Practice data is processed locally. Analytics data (if consented) is transmitted to Google servers via TLS
- Data Transfers: Analytics data may be transferred to Google servers in the US under Google's Standard Contractual Clauses
- Your Rights: You can withdraw consent at any time in Settings. You can request deletion by turning off analytics (resets your anonymous ID)
- Right to Complain: You may lodge a complaint with your local supervisory authority. Find yours here
Automated Decision-Making
We do not use automated decision-making, profiling, or algorithms that make decisions affecting you. All practice statistics are calculated locally on your device for your own use.
For All Users Worldwide
Your practice data always stays on your device. Analytics are optional, consent-based, and anonymous. You can decline analytics and use the full app without any data leaving your device.
Security
Local Data Protection
Your practice data is protected by:
- App sandboxing: Data is stored in the app's private storage, inaccessible to other apps
- Device security: Protected by your device's screen lock, encryption, and security features
- Encrypted transmission: Analytics data (if enabled) is encrypted via TLS. Practice data is never transmitted
Our Security Practices
- • No servers of our own to secure
- • No databases to breach (your practice data stays on your device)
- • No credentials to protect (no accounts)
- • Analytics processed by Google under their security standards (Firebase Security)
Your Responsibility
- • Keep your device secure with a screen lock
- • Keep your device's operating system updated
- • Be cautious about who has physical access to your device
Data Breach Notification
- • We cannot experience a breach of your practice data (it never leaves your device)
- • Anonymous analytics data is processed by Google under their security infrastructure
If we ever experience a security incident affecting the app itself (e.g., malicious code in an update), we will notify users via app store updates and our website within 72 hours of discovery.
Changes to This Policy
How We Handle Updates
- • We will update this policy if our data practices change
- • The "Last Updated" date at the top will be revised
- • Material changes will be announced in the app before taking effect
Version History
- v1.1 (March 2026): Added Optional Analytics section
- — Added Firebase Analytics with consent-based collection
- — Added Consent Mode v2 (Google EU User Consent Policy)
- — Added data deletion via analytics toggle (resetAnalyticsData)
- — Updated GDPR legal basis to include consent for analytics
- — Updated Data Safety and compliance sections
- v1.0 (December 2025): Initial privacy policy
- — Complies with Apple Privacy Manifest requirements (enforced May 1, 2024)
- — Complies with COPPA requirements (amended July 2024)
- — Complies with GDPR, CCPA/CPRA, and international privacy laws
Review Schedule
We review this policy at least annually, even if no changes are needed.
Contact Us
If you have questions about this privacy policy or our privacy practices:
Crescendo Piano LLC
Email: privacy@crescendopiano.app
Response Time: We aim to respond within 7 business days.
What We Can Help With
- • Questions about this privacy policy
- • Concerns about your privacy
- • Requests related to future account features
- • Reports of child users (for compliance)
Platform-Specific Information
Apple App Store
- Privacy Nutrition Label: "No, we do not collect data from this app"
- App Store Display: "The developer does not collect any data from this app"
- App Tracking Transparency (ATT): Not required—we don't track users
- Privacy Manifest: NSPrivacyTracking: false, NSPrivacyCollectedDataTypes: (empty), UserDefaults API (Reason CA92.1)
- Age Rating: 12+ (equivalent to our 13+ policy)
Google Play Store
- Data collected: App interactions, device/other IDs (with consent only)
- Data shared: None
- Data encrypted in transit: Yes (TLS)
- Data linked to identity: No
- Data can be deleted: Yes (Settings > Usage Analytics toggle, or uninstall)
- Content Rating: Teen (aligned with 13+ age requirement)
Compliance Summary
| Regulation | Our Status |
|---|---|
| GDPR (EU) | Compliant—consent-based analytics, local practice data |
| ePrivacy Directive | Compliant—consent obtained before analytics collection |
| Google EU User Consent Policy | Compliant—Consent Mode v2 implemented |
| CCPA/CPRA (California) | Compliant—opt-out available, no data sales |
| COPPA (US Children) | Compliant—13+ rating, analytics anonymized |
| LGPD (Brazil) | Compliant—consent-based, local practice data |
| Google Play Store | Compliant—Data Safety form updated |
We built Crescendo because we wanted a piano learning app that respects privacy. We're musicians and developers who got tired of apps that track everything.
Your practice sessions are personal. Your progress is yours. We don't need to know how many scales you played today or what time you practice. We just want to help you learn piano.
Your data. Your device. Your music.