Privacy policy

Effective date: 2026-10-29. This policy covers the Capline Android app and this website.

Who we are

Controller: Enrique Rubio. Contact: support@erslabs.net. Capline has no accounts and no sign-in: there is nothing to log in to.

What we do not do

Permissions the app declares

From the merged release manifest of app.capline (version 0.1.0):

INTERNET
Downloads the speech model once and lets ML Kit fetch translation models and report its metrics.
ACCESS_NETWORK_STATE
Checks network connectivity around those downloads; added by the bundled ML Kit components.
WAKE_LOCK
Declared by the bundled Media3 ExoPlayer player (video preview), not by our code; we do not use it.
WRITE_EXTERNAL_STORAGE (maxSdkVersion="28")
Only Android 8–9 (API 26–28), where saving into shared storage needed it. The app does not request this permission at runtime, so on those versions a gallery export can fail; Android 10 and newer need no storage permission at all.

The manifest also declares app.capline.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION, an internal signature-level permission that only this app can hold. It gives nobody any access and is not a capability you can notice. This build requests no camera, microphone, location or contacts permission.

Network activity

Speech model download (first-party). The only connection the app itself opens is a one-time download of ggml-tiny.bin (77,691,713 bytes, SHA-256 checked before the file is used) from https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin, stored inside the app's private storage (filesDir/models/). No other code in the app opens a network connection.

ML Kit Translate 17.0.3. Bilingual subtitles download the translation model for your language pair to the device. Per Google's ML Kit terms (https://developers.google.com/ml-kit/terms): "When you use ML Kit APIs, processing of the input data (e.g. images, video, text) fully happens on-device, and ML Kit does not send that data and the resultant outputs to Google servers." The same terms state: "The ML Kit APIs also send metrics about the performance and utilization of the APIs in your app to Google." Google's Android data disclosure (https://developers.google.com/ml-kit/android-data-disclosure) adds that ML Kit Android SDKs collect device information, app information, performance metrics and other data — for example event types such as model downloads, and error codes — for diagnostics and usage analytics, encrypted in transit with HTTPS and not transferred to third parties.

What that means in short. Your videos, audio, captions and translations are never sent anywhere by our code. ML Kit reports its own usage metrics to Google; that is Google's practice as documented in the links above, not something we add.

Where your files are

Speech recognition and translation run on your device

Speech recognition runs on your device: the captions are produced by whisper.cpp inside the app, offline once the model has been downloaded. Caption translation runs on your device with ML Kit's on-device models after their download. Your audio and text are processed locally.

Voiceover (planned, not in this build). The planned voiceover feature records through your device's microphone and the take stays on your device; it will ask for microphone permission before recording.

Purchases (Pro)

Capline Pro is bought through Google Play Billing. Google Play processes the payment — in Google's words, "Google may give refunds for some purchases made through Google Play's billing system" (Google Play refund policies: https://support.google.com/googleplay/answer/2479637). The app stores only your entitlement on your device — whether Pro is active, cached so the app can start offline. Payment details never reach the app.

Backups

The release manifest does not disable Android backup, so the platform default applies: backup enabled. When it is on, Android can copy app-private data — not your gallery videos — to a private folder in your Google Drive, limited to 25 MB per app, restored when you reinstall the app; on Android 9 and newer, if your device has a screen lock (PIN, pattern or password), Android encrypts the backup on the device with it before upload. Capline does not require that encryption: without a screen lock the backup can still be made, unencrypted on the device side. Whether any of this happens follows your Android backup settings (source: https://developer.android.com/guide/topics/data/autobackup).

Deleting your data

This website

This site is a static set of pages hosted on Cloudflare Pages. We put no cookies, no scripts and no analytics of our own on it. Cloudflare processes the requests that reach it; its privacy policy (https://www.cloudflare.com/privacypolicy/) states: "The information processed may include but is not limited to IP addresses, traffic routing data, system configuration information, and other information about traffic to and from Customers' websites, devices, applications, and/or networks."

Audience

Capline is a general-audience app and is not directed at children under 13.

Changes and contact

We update this policy when the app changes; the effective date at the top tells you which version applies. Controller: Enrique Rubio — support@erslabs.net.