Node.js with Koda ("the App") is an offline-first, gamified way to learn backend development. This policy explains what information the App does and does not handle, in plain language, based on how the App is actually built.
Privacy Policy
Node.js with Koda is an offline-first, gamified way to learn backend development. This page explains what information the App does — and does not — handle, based on how it's actually built.
01 Information We Do Not Collect
There is no account, sign-up, or login anywhere in the App. You are never asked for your name, email address, phone number, date of birth, or any other personal identifier, and the App has no feature for creating or editing a personal profile.
The App does not collect free-form text, photos, voice recordings, or any other content you create — there is nowhere in the App to submit that kind of content in the first place.
02 Information We Collect
Your learning progress is generated entirely by using the App and stays on your device (see "Local Storage on Your Device" below):
- Gamification data: total XP, level, current streak, which lessons and quizzes you've completed, your best quiz scores, unlocked achievements, and unlocked/equipped Koda cosmetic items.
- App preferences: theme (light/dark/auto), sound effects on/off, background music on/off, and the lesson-reminder notifications toggle.
- Ad-related counters used only to pace how often ads appear (e.g. quizzes completed since the last interstitial ad, and the timestamp it was last shown).
03 How Information Is Used
The data above is used exclusively to run the App itself: showing your XP and level, keeping your streak accurate, remembering which lessons you've finished, unlocking achievements and cosmetics, applying your chosen theme and sound settings, and deciding when it's an appropriate moment to show an ad. None of it is sold, and none of it is used for any purpose beyond making the App work the way you've configured it.
04 Local Storage on Your Device
All of the information above is stored locally on your device using an embedded database (Hive) — there is no backend server, and nothing here is synced to the cloud or to any account, because there is no account to sync to.
Your gamification/progress data is additionally encrypted at rest with a 256-bit key that is generated once on your device and held in the Android Keystore (via flutter_secure_storage) — the key never leaves secure device storage in readable form. App preferences (theme, sound toggles) are stored unencrypted, since they contain no sensitive information.
Deleting the App, or using "Reset all progress" in Settings, permanently erases this data from your device. Because nothing is stored on a server, there is nothing left behind afterward for us to hold or delete on your behalf.
05 Third-Party Services
The App uses Google's advertising and consent-management services, described below. It does not integrate any other third-party SDK — there is no analytics platform, no crash-reporting service, and no social-login provider anywhere in the App.
A few Settings rows ("Rate us," "More apps," "Share app," "Send feedback") open the Google Play Store, your device's share sheet, or your email app. These are standard OS-level actions you choose to trigger — the App does not read or collect anything from them.
06 Advertising
The App shows ads (banner, native, and occasional full-screen interstitial ads; a rewarded-ad feature is present in the code but is not yet enabled on any screen) using Google's AdMob service. Ads currently only run on Android.
Serving ads through AdMob can involve Google processing information such as advertising identifiers, general (non-precise) location inferred from IP address, and device/app information, under Google's own privacy practices — this happens through Google's SDK, not through code we've written to collect that data ourselves.
Where required (for example, in the EEA and UK), the App uses Google's User Messaging Platform to ask for your consent before requesting personalized ads, and a "Privacy options" row appears in Settings so you can review that choice again at any time. Outside those regions, this row does not appear, matching Google's own guidance for when it's required.
Read Google's Ads-related Privacy & Terms →07 Analytics & Crash Reporting
The App does not currently use any analytics or crash-reporting service. No usage-tracking or app-behavior-monitoring SDK is integrated.
08 Children's Privacy
The App is intended for a general audience interested in learning backend development and is not specifically directed to children under 13. The App does not knowingly collect personal information from children or from users of any age. There is no account, sign-up, or profile system, and the App does not ask users to provide their name, email address, phone number, date of birth, or other personal identifiers.
Because the App does not collect personal information directly from users, there is no personal information stored by us that can be used to identify a child. Advertising services used by the App may process information as described in the Advertising section and under Google's applicable privacy practices.
09 Data Security
Your progress data is encrypted on-device using AES encryption with a key held in your device's secure hardware-backed keystore, as described above. This protects against casual access to the raw data file (for example, via a file browser on a rooted device) but, like any on-device security measure, is not a defense against a determined attacker with full control of a compromised device. Because there is no server component, there is no server-side data store for us to secure or that could be breached.
10 Data Retention & Deletion
Your data stays on your device for as long as the App is installed, or until you use "Reset all progress" in Settings. Uninstalling the App removes it entirely. There is no remote copy for us to retain or delete, because none is ever created.
11 Your Choices
- Turn off sound effects, background music, or lesson-reminder notifications anytime in Settings → Sound & notifications.
- Review or change your ad-consent choice anytime via Settings → Privacy options (shown where applicable).
- Erase all local progress anytime via Settings → Reset all progress.
- Uninstall the App at any time to remove all locally stored data.
12 External Links
A few places in the App link out to external destinations you choose to open: the Google Play Store listing (Rate us, More apps), your device's native share sheet (Share app), and your email app (Send feedback). Those destinations are operated by Google or by whichever app you use for email, and are covered by their own privacy practices, not this one.
13 Changes to This Privacy Policy
If this policy changes, we'll update the "Last updated" date at the top of this page (and the matching in-app screen). We encourage you to review it occasionally, especially after an App update.
14 Contact Us
Questions about this policy or your data can be sent to vikrant1104you@gmail.com (also reachable via Settings → Send feedback in the App). Entity: Vikrant Vijay Patil.
Looking for our Terms of Service? They're available inside the App itself, under Settings → About → Terms of service.