Legal Document
Privacy Policy
Last updated: May 17, 2026 | Effective: May 17, 2026
TL;DR — Your financial data never leaves your device. NinjaX stores all subscription data locally in an encrypted database. We don't sell your data, we don't require an account, and your subscription list is never uploaded to any server.
1. Who We Are
NinjaX ("we," "us," or "our") is an Android application developed by CryptonStudio that helps users track, manage, and cancel recurring subscriptions. By using NinjaX, you agree to this Privacy Policy.
For privacy questions, contact us at: support@cryptonstudio.app
2. Data We Do NOT Collect
We want to be completely transparent about what we don't do:
- We do not upload your subscription list, financial data, or spending history to any server
- We do not collect your name, location, contacts, or payment credentials
- We do not store your email address on our servers. (If you use the Pro AI cancellation-email feature, the account email you enter for that one service is transmitted to generate the draft — see section 5.)
- We do not require account registration to use the app
- We do not track your location
- We do not share or sell your data to third parties
- We do not read your SMS, contacts, or personal communications
- We do not have access to your bank accounts or payment credentials
3. Data Stored On-Device
All subscription data you enter — service names, amounts, billing cycles, renewal dates, and categories — is stored exclusively on your device in a locally encrypted database (SQLCipher with AES-256 encryption).
This data is never transmitted to our servers. It is as secure as your device itself. We recommend enabling device encryption and a strong screen lock for maximum protection.
4. Notification Access (Optional — Pro Feature)
The Pro tier of NinjaX includes an optional feature to automatically detect subscriptions from payment notifications (e.g., payment apps such as PhonePe, Google Pay, or Paytm). This requires the Notification Access permission on Android.
If you grant this permission:
- NinjaX reads notifications only from a pre-approved list of financial apps (banking and payment services). All other app notifications are ignored and never read.
- Notification content is processed entirely on-device. The notification text itself is never transmitted anywhere.
- The matched merchant name and the size of a detected price change are included in anonymous product-analytics events (see section 8). No notification text, account identifier, or balance is included.
- The transaction amount and merchant name are extracted to auto-populate subscription entries. The original notification text is also retained on-device in the encrypted database so detection can be improved and re-run; it never leaves your device.
- You can revoke this permission at any time via Android Settings → Apps → NinjaX → Permissions.
This permission is optional. The free tier of NinjaX does not use or request notification access.
5. AI Email Drafting (Pro Feature)
The Pro tier includes an AI-powered feature that drafts cancellation emails on your behalf. This works as follows:
- When you request a cancellation email, the name of the subscription service you wish to cancel is sent to a CryptonStudio Firebase Cloud Function.
- This function calls the OpenAI API (GPT-4o-mini) to generate a professional cancellation email draft.
- The draft is returned to your device and displayed in-app. You review and send it from your own email client.
- Your email address at that service is sent along with the service name, because the cancellation email must be written on behalf of that account. This is transmitted to the Cloud Function and included in the prompt sent to OpenAI (United States).
- Not sent: your name, payment or card details, transaction history, spending amounts, or your subscription list. Only the service name and the account email you entered for that service leave your device.
- Only the service name is transmitted (e.g., "Netflix", "Spotify"). This minimal data is required solely to generate the email draft.
OpenAI's use of this data is governed by the OpenAI Privacy Policy. CryptonStudio does not retain the content of these requests (the service name, your email address, or the generated draft) after the API call completes. We do store a rate-limiting record — your pseudonymous RevenueCat subscriber ID, a monthly request count, and timestamps — so we can enforce the monthly fair-use limit. This record contains no email address and no subscription data.
6. Permissions Used
NinjaX requests the following Android permissions:
- Notifications (POST_NOTIFICATIONS): Required to deliver renewal alerts and free trial expiry warnings to your notification tray.
- Notification Access (NotificationListenerService) — Optional, Pro only: Used to detect subscription transactions from payment app notifications. Scoped strictly to financial app packages.
- Internet: Required for the AI email drafting feature (Pro) and for RevenueCat subscription verification.
- Receive Boot Completed: Required to reschedule renewal alerts after device restart.
7. In-App Purchases & RevenueCat
NinjaX uses RevenueCat to manage Pro subscriptions. When you make a purchase:
- Payment is processed entirely through Google Play Billing. NinjaX never sees or stores your payment information.
- RevenueCat verifies your purchase status using an anonymous Google Play purchase token — not your personal details.
- RevenueCat's data practices are governed by the RevenueCat Privacy Policy.
8. Firebase Services
NinjaX uses the following Firebase services from Google:
- Firebase Cloud Functions: Used to proxy AI email generation requests (service name only, no personal data).
- Firebase Analytics: Anonymous product-usage events (screens opened, features used). Some events include a merchant name and an amount so we can understand which subscriptions people track and cancel. No account identifier, email address, or full subscription list is included, and events are not linked to a personal profile.
- Firebase Crashlytics (if enabled): Collects anonymized crash reports to help us fix bugs. No subscription data is included.
9. Advertising (Free Tier)
The free version of NinjaX displays advertisements served by Google AdMob. AdMob may collect device identifiers and usage data to serve relevant ads, governed by Google's Privacy Policy.
Pro users see no ads. Upgrading to Pro completely disables AdMob.
10. Children's Privacy
NinjaX is not directed at children under 13 years of age. We do not knowingly collect personal information from children. If you have concerns, please contact us and we will investigate promptly.
11. Data Security
We take the security of your financial data seriously:
- All on-device subscription data is encrypted using SQLCipher (AES-256)
- No financial data is transmitted to our servers
- AI email requests transmit only the service name — never your personal information
12. Your Rights
Since all your subscription data is stored locally on your device, you have complete control:
- Access: Your data is on your device — view it anytime in the app.
- Delete: Deleting the app removes all locally stored data, including your entire subscription database. You can also delete individual subscriptions within the app at any time.
- Server-side records: Uninstalling does not automatically erase the small amount of data held off-device — the AI-email rate-limit record keyed to your pseudonymous subscriber ID, and anonymous analytics and crash reports. To request erasure of these, email support@cryptonstudio.app and we will delete them.
13. Changes to This Policy
We may update this Privacy Policy from time to time. We will notify you of significant changes by updating the date at the top of this page. Continued use of NinjaX after changes constitutes acceptance of the updated policy.
14. Contact Us
If you have any questions about this Privacy Policy, please reach out: