Privacy

Privacy policy

Kuokka has no account system and no server of its own. What you read, save and watch for is held on your device. This page names every other party your phone talks to, and why.

Effective 14 September 2026 · Applies to Kuokka on iOS and Android

The short version

There is nothing to sign up for. Kuokka stores your bookmarks, reading history, Radar watchlists, streaks and settings in the app's own storage on your phone, and they never leave it. Article summaries are produced on the device. The app does use a small number of third-party services — Hacker News itself, crash and analytics reporting, ads on the free tier, and the stores that process purchases — and each is listed below.

Deleting the app deletes everything Kuokka kept on the device. There is no copy on a server for us to hold, because there is no server.

What stays on your device

This data is written with the platform's own storage (DataStore on Android, NSUserDefaults on iOS) and is covered by the device's encryption. It is not transmitted to us and is not synced between your devices.

What leaves your device, and where it goes

Service What it receives, and why
Hacker News API Requests for stories, comments and profiles. Like any web request this reveals your IP address and approximate region to the service. Kuokka does not attach any identifier of its own.
The sites you open Opening an article in reader mode fetches it from the publisher's own server, so that request reaches the publisher exactly as a browser visit would.
Google AdMob Ads on the free tier. Ads in Kuokka are not personalized. AdMob may still use a device advertising identifier for frequency capping and fraud prevention. Premium removes ads completely.
Firebase Analytics and Crashlytics Anonymous usage events and crash diagnostics, and only if you allow them. Kuokka asks on first run and the choice lives under Account, where you can change it at any time.
RevenueCat Purchase and entitlement state, so a Premium purchase is recognised on the device. It receives a store transaction identifier, never your payment details.
Your AI provider, if you add a key Only when you supply your own Gemini, Claude or OpenAI key: the article text is sent to that provider under your own account and their terms. Leave the key empty and no article text ever leaves the device.

Summaries and comment digests

By default Kuokka summarizes on the device. The summarizer is extractive: it selects sentences that already appear in the article rather than generating new text, and it needs no network call and no API key. If you prefer a language model to write them, you can add your own provider key in Settings — that is the only configuration in which article or comment text is sent anywhere.

Notifications

Radar digests arrive as local notifications scheduled on the device. They are not push messages, there is no push token, and nothing about them reaches a server. Kuokka asks for notification permission before scheduling any, and the system settings for the app revoke it at any time.

App tracking on iOS

On iOS, Kuokka presents Apple's App Tracking Transparency prompt before any tracking identifier could be used for advertising. Declining is fully supported; the free tier continues to show non-personalized ads, and nothing else in the app changes.

Your choices

Children

Kuokka is not directed to children under 13 and does not knowingly collect information from them. It displays content from Hacker News, which is written for a general adult audience and is not moderated by us.

Changes to this policy

If the app starts handling data differently, this page changes with it, and the effective date above moves. Material changes will also be described in the release notes for the version that introduces them.

Contact

Questions about any of this, or a request about your data, go to manulorenzop@gmail.com. Kuokka is built and maintained by Manuel Lorenzo Parejo.