Legal
ReelBlink reminds you to blink while you watch short videos. It measures blinks with the front camera on your device only, and it keeps your statistics in a database on your phone.
| Data | Source | Where it goes | Why |
|---|---|---|---|
| Anonymous user ID (guest mode) | Firebase Authentication anonymous sign-in | Firebase Authentication | Lets you use the whole app without giving any personal information |
| Google account ID token → Firebase user ID (UID) | Google Sign-In (optional) | Firebase Authentication (Google servers) | To identify your account across reinstalls and devices |
| Email address, display name, profile photo URL | Google Sign-In / Firebase Authentication (optional) | Your Firebase Authentication user record on Google servers | Standard Google Sign-In account record |
| Display name (only) | Firebase Authentication | Copied into the local database on your phone | Shown in the Profile tab |
Guest mode collects no personal information at all — the account record is an identifier and nothing else.
If you do choose Google Sign-In, the app's own code reads and displays only your display name. It does not read, store, display or transmit your email address, profile photo, contacts, phone number or Google account password. Your email address and photo URL exist in the Firebase Authentication user record because Google Sign-In creates that record; they are not used by the app and are not copied to your device's database.
All of the following is written to a local SQLite database (makeblink, managed by the Drift library) inside the app's private storage and is never uploaded:
ReelBlink does not access or collect: location (precise or coarse), contacts, calendar, SMS, call logs, phone number, photos or the media library, health-connect or fitness data, installed-app lists, biometric identifiers, or an advertising ID. It contains no advertising SDK and no attribution or marketing SDK.
ReelBlink uses Firebase Authentication with two sign-in methods:
google_sign_in SDK obtains a Google ID token, which the app exchanges for a Firebase credential. The app requests only the default sign-in scopes (basic profile and email); it does not request access to Gmail, Drive, YouTube account data, contacts, or any other Google service. Signing in with Google adds account features such as keeping your calendar and history across reinstalls and devices.You can upgrade a guest account to a Google account at any time; the account ID is preserved, so your on-device data survives the upgrade.
There is no custom backend server. No credential, token, blink statistic or other personal data is sent to any server operated by the developer. Firebase Authentication (Google LLC) is the only identity service involved, and the Google ID token is exchanged directly between your device and Google.
Google Sign-In use complies with the Google API Services User Data Policy, including the Limited Use requirements: data obtained through Google Sign-In is used only to authenticate you into the app, is not transferred to others, is not used for advertising, and is not read by humans.
| Service | Used for | Data involved |
|---|---|---|
| Firebase Core / Installations | Initialises the other Firebase SDKs | Firebase installation ID (a resettable app-instance identifier), app and device metadata |
| Firebase Authentication | Guest sign-in and optional Google sign-in; account deletion | UID, provider, sign-in timestamps, IP address at sign-in, and — for Google sign-in only — email, display name and photo URL |
| Firebase Analytics | App-usage measurement only | Automatically collected events (first open, session start, screen views) plus, from this app, screen_view events emitted by the navigation observer. No custom events are logged. Analytics collects an app-instance ID, device model, OS version, app version and coarse location derived from IP. It does not collect an advertising ID (see 4.3) |
| Firebase Crashlytics | Crash and fatal-error reporting | Stack traces, exception messages, device model, OS version, app version, and a Crashlytics installation UUID. No custom keys or user identifiers are set by the app |
| Firebase Remote Config | Reads two values: the default YouTube playlist ID and the YouTube Data API key | The device fetches configuration; standard Firebase installation and device metadata is sent with the request. No user content is sent |
| Google ML Kit Face Detection | On-device blink detection | Runs fully offline with a bundled model; no data leaves the device |
| YouTube IFrame Player API + YouTube Data API v3 | Video playback and playlist metadata | See section 5 |
Analytics and Crashlytics collection are disabled in debug builds and enabled in release builds.
The app does not use Firebase Cloud Messaging (push notifications), Cloud Firestore, Realtime Database, Cloud Storage, Cloud Functions, Firebase Performance Monitoring, App Check, Firebase ML, AdMob, or Google Ads. All notifications in the app are local notifications scheduled by your device; no notification is ever sent from a server.
ReelBlink shows no advertisements, contains no advertising SDK, and does not monetise through advertising.
The advertising-related permissions that the Firebase Analytics SDK would otherwise contribute — com.google.android.gms.permission.AD_ID, android.permission.ACCESS_ADSERVICES_AD_ID, android.permission.ACCESS_ADSERVICES_ATTRIBUTION and com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE — are removed from the app's manifest, and Analytics is additionally configured with google_analytics_adid_collection_enabled set to false. The advertising ID is therefore not requested and not collected.
| Endpoint | What is sent | Notes |
|---|---|---|
https://www.googleapis.com/youtube/v3/playlistItems, /videos | Playlist ID, an API key from Remote Config, your device's IP address and standard HTTP headers | Read-only. No user data, no account information and no watch history is sent. The app never calls search.list |
https://www.youtube.com (IFrame Player API inside a WebView, plus YouTube's own video/CDN requests) | Whatever your device sends when loading a YouTube embed: IP address, user agent, the video being played, and cookies YouTube sets in the app's WebView | Video playback is provided by YouTube. Google's Privacy Policy and the YouTube Terms of Service apply to that playback |
Firebase endpoints (firebaseinstallations.googleapis.com, identitytoolkit.googleapis.com, firebaseremoteconfig.googleapis.com, firebase-settings.crashlytics.com, app-measurement.com and related) | Authentication requests, configuration fetches, analytics events, crash reports | Operated by Google LLC |
https://www.instagram.com/vikasbuildsapp | Nothing — the app only hands the URL to your browser or the Instagram app when you tap the Support link | Opened externally |
Because ReelBlink plays YouTube videos and uses the YouTube API Services, by using ReelBlink you are also agreeing to the YouTube Terms of Service, and Google's data handling is described in the Google Privacy Policy. Both links are also available inside the app, on the Privacy policy screen.
| Permission | Required? | Why |
|---|---|---|
android.permission.INTERNET | Required | Sign-in, YouTube playback and Firebase |
android.permission.CAMERA | Optional | On-device blink detection. Requested only from the "Smart Blink Detect" screen, which explains the use before the system dialog appears. The app is fully usable if you decline |
android.permission.POST_NOTIFICATIONS | Optional | Android 13+ runtime permission for local eye-care reminders. Requested when you turn reminders on in Settings |
android.permission.RECORD_AUDIO | Optional | Recording your own reminder voice cue in Settings. Requested only when you tap Record |
These are contributed by the SDKs the app depends on, not requested by app code, and none of them show a runtime prompt:
android.permission.ACCESS_NETWORK_STATE — network availability checks.android.permission.WAKE_LOCK, android.permission.VIBRATE — scheduled local notifications.com.google.android.providers.gsf.permission.READ_GSERVICES — Google Play services.android.permission.USE_BIOMETRIC, android.permission.USE_FINGERPRINT — declared by the AndroidX Credentials library used by Google Sign-In. The app itself never invokes biometric authentication.com.classhai.make_blink.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION — an internal AndroidX broadcast-receiver guard.The following are contributed by dependencies and are stripped from the app's manifest, so they do not ship in the released app:
com.google.android.gms.permission.AD_ID, android.permission.ACCESS_ADSERVICES_AD_ID, android.permission.ACCESS_ADSERVICES_ATTRIBUTION, com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE — advertising and install-attribution, contributed by Firebase Analytics. The app has no ads (see 4.3).android.permission.READ_EXTERNAL_STORAGE — contributed by the file-picker library. The app only ever opens the Android system document picker, which needs no storage permission.No location, contacts, calendar, SMS, phone, media-library, background-location, "all files access", accessibility-service or device-admin permission is declared, at any level.
| Store | Contents |
|---|---|
SQLite database makeblink (Drift, schema version 14) | Everything listed in section 2.2, in the app's private storage |
| App documents directory | Custom reminder voice clips you record or import |
| Firebase SDK storage | Sign-in token cache, Remote Config values, queued analytics events and pending crash reports, held by the Firebase SDKs in the app's private storage |
| WebView storage | Cookies and site data set by YouTube during playback, in the app's private WebView profile |
Everything above is inside the app sandbox and is removed when you uninstall the app or clear its data.
All network requests made by the app use HTTPS/TLS: YouTube Data API calls, the YouTube player WebView, Google Sign-In, and every Firebase SDK connection. No cleartext-traffic exemption or custom network-security configuration is present in the app, so Android's default block on cleartext HTTP applies.
Data stored on the device is protected by Android's app sandbox and by the device's own full-disk/file-based encryption. The app does not apply an additional layer of encryption to its local database.
ReelBlink is designed for users of all ages. It provides blink reminders, blink games, eye exercises, and the option to use your own YouTube playlist.
Children should use ReelBlink under the supervision of a parent or legal guardian where appropriate. ReelBlink is not designed exclusively for children and is not a Designed for Families app.
What this means in practice for a younger user:
If a parent or guardian believes a child has signed in with a Google account and wants that record removed, email vikasBuilds.ofc@gmail.com and we will delete it within 30 days.
The app asks for an age band (used only to pick the healthy blink-rate reference for that age). That value is stored on the device and is never transmitted.
No system is perfectly secure, and we cannot guarantee absolute security of information transmitted over the internet.
ReelBlink estimates a blink rate and compares it to a published reference range for your age. This is a wellness estimate, not a medical diagnosis. ReelBlink does not detect, diagnose, treat or prevent any condition. For anything concerning your eyes, consult a qualified medical professional.
We may update this policy when the app changes. The updated version will be posted at this URL with a new "Last updated" date, and the in-app copy (Profile → Privacy policy) will be updated in the same release. Material changes will be highlighted in the app or the Play listing's release notes. Continued use of the app after an update means you accept the revised policy.