Privacy Policy

Qodalis CLI app for Android (com.qodalis.cli) and its web app · Last updated 8 November 2026

Qodalis CLI is a terminal that runs on your device. It is published by Qodalis Solutions. This policy explains what the app does with your data. In short: the Android app sends anonymous usage statistics, which you can turn off, and shows ads from Google AdMob, with your consent where the law requires it; what you create stays on your device. The web app sends nothing and has no ads.

Usage analytics (Android app)

The Android app uses Google Analytics for Firebase to learn how the app is used. It records installs and app opens, how long the app is used, the app version, the device model, Android version, language and approximate country (derived from the IP address, which is not stored), and the name of each command you run (for example todo or snake) with whether it succeeded. It never records a command's arguments or output, what you type, your files, your user account or anything else stored in the app. Firebase identifies the installation with a random app instance ID; usage analytics does not collect the advertising ID and the data is not linked to you or used for ads. Google processes it on our behalf under the Firebase privacy terms and keeps it for up to 14 months.

To turn it off, run analytics off in the app (analytics on turns it back on; analytics shows the setting). Nothing is sent while it is off. The web app does not include analytics.

Ads (Android app)

The Android app shows a banner ad at the top of the screen and, now and then between commands, a full-screen ad, both served by Google AdMob. To show, limit and measure ads and to prevent fraud, Google and its ad partners may use your device's advertising ID, your approximate location (derived from the IP address), information about your device and the app, and how you interact with the ads. Google processes this data as described in How Google uses information from sites or apps that use its services and in Google's privacy policy.

In the European Economic Area, the United Kingdom and Switzerland the app first asks for your consent with Google's consent message: you can accept, refuse, or choose per purpose and partner. Without a decision no ad is requested. To change your choice later, run privacy choices in the app. Anywhere, you can reset or delete your advertising ID, or opt out of personalized ads, in Android's settings (Settings → Privacy → Ads, or Settings → Google → Ads). The banner is hidden, and no full-screen ad appears, while a game or nano is open. The web app has no ads.

Other data

Apart from the usage statistics and the ads above, the app has no accounts on our servers, no crash reporting and no other tracking. We do not sell personal data.

Data stored on your device

Commands you run can save data locally in the app's storage on your device, for example command history, settings and themes, environment variables, to-do items, files in the virtual file system, saved snippets and game scores. The user account you create at first launch is stored the same way: its user name, email, optional full name and a salted hash of its password (never the password itself). This data never leaves your device unless you send it somewhere yourself. Uninstalling the app, or clearing its storage, deletes it. On Android, the system backup you have enabled for your Google account may include it.

Network access

The app works offline. Apart from loading ads and sending usage statistics in the Android app, it uses the network only when you run a command that needs it, such as curl, wget or speed-test, or when you connect it to a Qodalis CLI server you choose. Those requests go directly from your device to the address you entered, and the operator of that service handles them under its own privacy policy. We are not involved.

Permissions

The Android app requests Internet access, used for the commands above, and two permissions Android grants at install without asking: network state, so the network command can show whether you are online, and vibration, for the vibrate command. Firebase Analytics adds two more that Android grants at install: keeping the phone awake briefly while statistics are sent, and reading the Play install referrer (how the app was found on Google Play). The AdMob SDK adds access to the advertising ID and to Android's ad services (advertising ID, ad attribution and ad topics), also granted at install. It does not access your contacts, location, camera, microphone or files outside the app.

Deleting your account

Your user account exists only on your device. To delete it, run userdel <user name> in the app, or clear the app's storage (Android: Settings → Apps → Qodalis CLI → Storage → Clear storage), or uninstall the app. Any of these removes the account and all its data (files, history, settings, to-dos, scores) at once; there is no copy on a server to request deletion from. The anonymous usage statistics of the Android app are not linked to your account, so they are not deleted with it: Google keeps them for up to 14 months, then deletes them. Clearing storage or uninstalling also resets the random ID they are counted under.

Keyboard input

On Android the app asks the keyboard not to offer suggestions or learn from what you type, so text you enter in the terminal, including passwords, is not added to your keyboard's dictionary.

Children

The app is meant for people aged 13 and over. It is not directed at children under 13 and does not knowingly collect information from them.

This website

This policy covers the app. The documentation pages of cli.qodalis.com use Google Analytics to count visits; this privacy page and the web app do not. The Android app's own usage statistics are described above.

Changes

If this policy changes, the new version will be published at this address with a new date.

Contact

Questions about this policy: open an issue at github.com/qodalis-solutions/pwa-cli.

Qodalis CLI documentation