Privacy Policy
Last updated: June 10, 2026
1. Introduction
Kaggle Session Manager ("the App", "we", "us", "our") is a mobile application that lets you start, stop, monitor and schedule Kaggle notebook sessions from your phone. This Privacy Policy explains what information the App collects, how it is used, who it may be shared with, and the choices available to you. By creating an account or otherwise using the App, you agree to the practices described in this policy.
2. Data We Collect
- Account information — your email address, display name, and a unique account identifier (Firebase User ID) created when you register.
- Kaggle credentials — your Kaggle username and Kaggle API key, which you provide so the App can act on Kaggle on your behalf.
- Notebook & session data — notebook owner/slug, title, run status (queued, running, completed, error, stopped), GPU/CPU selection, run type, start/end timestamps, last-polled time, and any error messages returned by Kaggle.
- Schedule data — the list of notebooks you queue to run automatically and their progress.
- Quota data — your used/remaining GPU and TPU compute hours, refreshed periodically from Kaggle.
- Notification data — in-app notification history (e.g. "run completed", "quota low") and a Firebase Cloud Messaging (FCM) device token used to deliver push notifications.
- Diagnostics — automatically collected crash reports, stack traces, and basic device/app information (device model, OS version, app version) via Firebase Crashlytics.
- App preferences — your theme (light/dark/system) setting, stored locally on your device.
We do not collect your contacts, photos, location, microphone, camera, or any data unrelated to managing Kaggle notebooks.
3. How We Use Your Data
- To create and secure your account and keep you signed in (Firebase Authentication).
- To connect to the Kaggle API on your behalf — to start, stop, monitor and schedule notebook runs that you request.
- To show your notebook history, current run status, and remaining compute quota inside the App.
- To send push and in-app notifications about run completions, failures, and low-quota warnings.
- To diagnose crashes, fix bugs, and improve the stability and performance of the App.
- To enforce reasonable usage limits (e.g. preventing duplicate run requests) and protect the App from abuse.
We do not use your data for advertising, do not build advertising profiles, and do not sell your personal data.
4. Kaggle Credentials
To operate on your behalf, the App requires your Kaggle username and a Kaggle API key (generated from your Kaggle account settings).
- Your API key is sent over an encrypted connection (HTTPS) to our backend and stored in encrypted form — never as plain text.
- It is decrypted only in memory, inside our backend, at the moment an action you requested needs to call the Kaggle API (e.g. "Run", "Stop", "Refresh quota", "List my notebooks").
- We never use your Kaggle credentials for anything other than the actions you explicitly request inside the App.
- You can update or replace your stored Kaggle credentials at any time from the App's Kaggle setup screen ("Update Kaggle API").
5. Notifications
The App uses Firebase Cloud Messaging (FCM) to deliver push notifications about your notebook runs — for example, when a run finishes, fails, or your GPU quota is running low. To do this, we store an FCM device token linked to your account. You can control notification permissions at any time from your device's system settings (Settings → Apps → Kaggle Session Manager → Notifications). Turning off notifications does not affect the App's ability to show run status when you open it, but you will not receive push alerts.
6. Crash Reports and Diagnostics
We use Firebase Crashlytics to automatically collect crash reports and basic diagnostic information if the App crashes or encounters an error. This may include the device model and manufacturer, operating system version, app version, available memory/storage, and a stack trace describing the error. This information is used solely to identify and fix bugs and is not linked to your Kaggle credentials.
7. Data Sharing and Third-Party Services
We do not sell your data, and we do not share it with advertisers or data brokers. The App relies on the following third-party service providers to operate:
- Firebase / Google Cloud Platform (Authentication, Cloud Firestore, Cloud Functions, Cloud Messaging, Crashlytics) — used to host your account and notebook data, run our backend logic, and deliver notifications. See Google's Privacy Policy.
- Kaggle — your Kaggle username and API key are used to call the Kaggle API on your behalf, only for the actions you request. See Kaggle's Privacy Policy.
These providers process data on our behalf under their own privacy and security terms, and only to the extent necessary to provide the App's functionality.
8. Data Security
- Your Kaggle API key is encrypted at rest using symmetric (Fernet/AES) encryption before it is stored. The encryption key is kept in a secrets manager, separate from the database, and is never stored alongside your data.
- Decryption happens only inside our backend (Cloud Functions), and only at the moment an action you requested needs to call the Kaggle API.
- Firestore security rules ensure that each user can only read and write their own account, notebook, schedule, and notification records — no other user can access your data.
- All communication between the App, our backend, Firebase, and Kaggle is encrypted in transit using HTTPS/TLS.
While we take reasonable steps to protect your information, no method of transmission or storage is 100% secure and we cannot guarantee absolute security.
9. Data Retention
- Account and profile data is retained for as long as your account is active.
- Notebook history, schedules, and notification records are retained until you delete them within the App, or until your account is deleted.
- Crash diagnostics collected via Firebase Crashlytics are retained according to Firebase's standard retention period (typically up to 90 days).
- After account deletion, your data is removed from our active database; any residual copies kept in backups or logs for security and operational purposes are purged within 30 days.
10. Your Rights & Account Deletion
- You can delete individual notebook history entries at any time from within the App.
- You can permanently delete your account and all associated data — including your Kaggle credentials, notebook history, schedules, quota records, notifications, and FCM token — directly from the App, at any time, with no waiting period: go to Settings → Account → Delete Account and type "delete my account" to confirm. This also deletes your Firebase Authentication sign-in record.
- If you can't sign in to use the in-app option, you can request deletion via our Account & Data Deletion page or by contacting us using the details below. We will action such requests within 30 days. Once completed, this action cannot be undone.
11. Children's Privacy
The App is not directed at children under the age of 13 (or the minimum age required in your country), and we do not knowingly collect personal information from children. If you believe a child has provided us with personal information, please contact us and we will delete it.
12. Changes to This Policy
We may update this Privacy Policy from time to time to reflect changes to the App or applicable law. Any update will be posted on this page with a revised "Last updated" date. If a change is material, we will provide additional notice where appropriate (for example, an in-app message).
13. Contact Us
If you have questions about this Privacy Policy or how your data is
handled, contact us at:
privacy@assemalia.com