π§ About JazzPracticePro's Privacy Approach
JazzPracticePro is a local-first, privacy-respecting practice app. We do not collect or store your data on any servers β everything remains securely on your device.
The AI features are optional. If you don't use them, no data ever leaves your device. When you do use AI, JazzPracticePro uses a hybrid clientβserver design to balance performance and privacy: your device streams results directly from Google's Gemini while small, non-content control requests are made to our serverless endpoints only to manage AI credits and safety.
π€ What powers the AI?
              JazzPracticePro uses Google's Gemini API (via
              @google/generative-ai) to provide personalized practice feedback and suggestions. When
              you request AI help, your practice data is securely sent to Gemini
              to generate a response. In hybrid mode,
              generation is streamed directly from your device while
              credits are enforced on the server for fairness.
            
π€ What data is sent?
Only the information needed for your request is included:
- Your profile and goals (these are relevant to most prompts)
 - No personally identifiable information is included unless you write it into a practice note or goal field.
 - Practice activity summaries (dates, durations, notes)
 - Repertoire info with learning statuses (tunes marked as "In Progress", "Needs Review", etc.)
 - Short- and long-term goals
 - Instrument info (for context)
 - Focus area or time available (for daily suggestions)
 
JazzPracticePro never sends your full data unless you explicitly request AI feedback. You can review what's included by visiting your Goals and Activities pages.
π How is it sent?
- In hybrid mode, content generation streams directly from your device to Google's Gemini API for speed and responsiveness.
 - Before generation, a kill switch and credit check happens via secure serverless endpoints.
 - After success or on failure, usage is confirmed or refunded via serverless functions β no practice content is stored by us.
 - No data is sent unless you click a "Generate AI Feedback" button.
 
You always have full control over when data is sent. You'll see:
- A banner on all AI pages reminding you that data will be shared with Gemini
 - A "Generate" button you must click to initiate the request
 - Fallback/error handling using our serverless function if direct streaming fails (e.g., long generations)
 
π¨ Does Google keep my data?
Possibly, for a short time.
According to Google's Gemini API Terms of Service, prompts and responses may be temporarily stored by Google for:
- Abuse prevention
 - Improving their models (in anonymized form)
 
If you prefer not to share your data with Gemini, simply avoid using the AI features β JazzPracticePro works fully without them.
JazzPracticePro does not store or log any prompts or responses locally after generation. You can optionally choose to save your AI results to a file or copy them manually.
β Quick Summary
| Feature | Privacy Detail | 
|---|---|
| AI use | Optional | 
| What's sent | Only summary info needed for feedback | 
| Stored by JazzPracticePro | No β all data stays on your device | 
| Sent to Gemini | Only when you explicitly request AI feedback | 
| Kept by Google? | Possibly (short-term, anonymized, for abuse/model tuning) | 
| AI architecture | Hybrid: client streaming + serverless credit enforcement | 
| Credits / limits | Checked before use; confirmed/refunded via functions | 
| Local-first architecture | Yes β no cloud sync or server storage | 
βοΈ Encrypted Cloud Backup (Optional)
JazzPracticePro supports end-to-end encrypted cloud backups using your passphrase. Your passphrase never leaves your device; backups are encrypted before upload and can only be decrypted by you.
- Encryption: PBKDF2βSHA256 + AESβGCMβ256
 - Compression: gzip before encryption to reduce size
 - Storage: Supabase Storage with per-user access controls
 - Passphrase scope: lives only in-memory per browser tab
 
You can also export/import a local v3 JSON backup at any time without using cloud storage.
π Transparency: AI Control Endpoints
For fairness and safety, the app calls a small set of serverless endpoints that manage AI usage. These do not store your content and are only used to check status, reserve, confirm, or refund credits:
- 
                GET 
/.netlify/functions/ai-status: kill switch + credits - 
                POST 
/.netlify/functions/reserve-credit: reserve a credit - 
                POST 
/.netlify/functions/confirm-usage: log success - 
                POST 
/.netlify/functions/refund-credit: refund on failure 
π Your Control & Portability
- You can export all your practice data, repertoire, and goals at any time.
 - You can import previous data or example files.
 - The app includes a Soft Reset (clears practice data) and Factory Reset (clears everything).
 - AI usage logs can be reset manually via the Debug tools in the app.
 
π Additional Privacy Disclosures
π§ User-Provided Information
JazzPracticePro does not request or require personally identifiable information (PII) such as your name, email address, or account details. However, because the app includes free-form text fields for practice notes, goals, and repertoire, users may optionally enter personal information into those fields.
If AI features are used, this content may be included in the prompt sent to Google's Gemini API to generate feedback. JazzPracticePro does not store or transmit this information elsewhere and does not use it for any purpose beyond the AI request itself.
π Third-Party Processing
When you opt to use the AI features, your data is transmitted securely from your device to Google's Gemini API. This data is processed exclusively to generate the feedback you requested. JazzPracticePro does not use any third-party analytics, advertising, or tracking SDKs.
Google may temporarily store this data to:
- Prevent abuse
 - Improve model performance (in anonymized form)
 
For details, please review Google's:
π Use of Collected Data
Data shared with the Gemini API is used solely for app functionality β to generate a helpful practice response. JazzPracticePro does not use this data for advertising, profiling, analytics, or personalization beyond the context of the current request.
No data is collected or sent unless you explicitly tap the "Generate AI Feedback" button.
π² App Store Privacy Disclosure
In compliance with App Store policies, JazzPracticePro's App Store Privacy Labels reflect that:
- Data may be temporarily shared with a third party (Google Gemini) when using AI features
 - This data may include user-generated content (notes, goals, etc.)
 - The data is used only for app functionality purposes
 
If you choose not to use the AI features, no data is shared or collected externally at any time.
β Questions?
JazzPracticePro is a local-first tool with your privacy in mind.
Reach out any time: contact@jazzpracticepro.com