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.

Last updated: August 12, 2026

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.

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):

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

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.