Effective Date: March 6, 2026 | Last Updated: October 13, 2026
Our commitment to transparency: This policy describes, in plain language, every piece of data Vigil collects, where it goes, how long it is kept, and who can see it. We believe you deserve to know exactly what happens with your data — no vague language, no hidden practices.
Vigil is developed and operated by Kaiastra, and is published on Google Play by developer Krishna Kadaba. It is based in Hyderabad, Telangana, India. Vigil is a mobile security app that scans URLs and QR codes to protect you from phishing, malware, and online fraud.
Below is an exhaustive list of every data point Vigil collects. There is nothing beyond this list.
When you first open Vigil and accept the privacy policy, the app registers your device with our server. The following is sent:
| Data | Example | Why |
|---|---|---|
| Random device ID | a1b2c3d4-e5f6-... | To authenticate your device (this is NOT your IMEI, phone number, or Google account) |
| Platform | "android" | To serve the correct responses |
| OS version | "14" | To handle version-specific behaviour |
| App version | "1.8.0" | To ensure compatibility |
| Device manufacturer | "Samsung" | To troubleshoot device-specific issues |
| Device model | "Galaxy S21" | Same as above |
| Device language | "en" | To localise content |
| Country code | "IN" | To match you with the right reporting authorities |
Our server returns a random authentication token and a signing secret. These are stored encrypted on your device using Android Keystore (AES-256-GCM). We store only a one-way hash of your token on our server — we cannot read your token from our database.
When you scan a URL (manually or from a QR code), the following is sent to our server:
| Data | Sent? | Details |
|---|---|---|
| URL hash (SHA-256) | Always | A one-way fingerprint of the URL. We check this against our threat database first. |
| URL features | Yes | Computed characteristics: URL length, whether it uses HTTPS, number of subdomains, top-level domain, whether it's a shortened URL. |
| Local risk score | Yes | A 0–100 score computed on your device before sending to the server. |
| Source | Yes | "manual_scan" or "android" — tells us how the scan was started. |
The app periodically sends a lightweight status update to our server:
If you choose to report a URL to authorities through the app, the following is sent:
If you voluntarily submit feedback through the app, your star rating (1–5) and optional message are sent. No personal information is attached — only your anonymous device token for authentication.
If you enable clipboard monitoring in Settings, the app watches your clipboard for copied URLs so it can warn you before you open a dangerous link. Exactly the same rule applies: only the URL is extracted and processed. The rest of whatever you copied is discarded immediately and never sent to our server or stored. This feature is disabled by default.
We want to be absolutely clear about what Vigil does not collect or access:
We also do not use any third-party analytics, crash reporting, or advertising libraries. There is no Firebase Analytics, Google Analytics, Facebook SDK, Sentry, Mixpanel, or any similar tracking in Vigil.
Vigil interacts with a small number of third-party services. Here is the complete list:
We use Google's Play Integrity API to verify that your device is running a genuine, unmodified version of Vigil. During attestation:
Google's Play Integrity API privacy policy applies to this interaction. We do not send Google any personal data — only the nonce and your app's package name.
The QR code scanner uses Google ML Kit's barcode scanning library. This runs entirely on your device. Camera frames are processed locally — no images or data are sent to Google.
Our server checks scanned URLs against threat databases sourced from multiple trusted security intelligence providers, including VirusTotal. Your device does not contact these providers directly — only our server does, on your behalf. What is shared with these providers is the URL (or its hash) being checked; no personal data, message content, or sender information is ever included.
When a URL requires deeper analysis (its hash isn't already in our threat database), our server sends the URL and technical features derived from it — including redacted visible page text, redirect chain, and structural characteristics — to third-party AI model providers via OpenRouter, which routes the request to large language models to help classify the threat. Retained page-image binaries are not sent to those AI providers. What is never sent: your device identity, message text (unless you explicitly shared it via the app's share feature), sender information, or any other personal data. These providers process the request to return a classification and do not receive any way to link it back to you.
Beyond what's listed in 5.1–5.4 above, we do not use any advertising networks, social media SDKs, analytics platforms, or data brokers. There are no hidden trackers in Vigil.
All communication between Vigil and our server is protected by two layers of encryption:
Additionally, every request is signed with HMAC-SHA256 to prevent tampering.
Before a URL is classified as safe, suspicious, or malicious, it passes through a 74-point proprietary inspection pipeline spanning both your device and our server:
This multi-layered approach ensures that threats are caught even when they evade individual detection methods. The specific techniques and scoring algorithms used are proprietary to protect them from being reverse-engineered by attackers.
| Permission | Why It's Needed | Optional? |
|---|---|---|
| Camera | To scan QR codes using the built-in scanner | Yes — only used when you open the QR scanner |
| Clipboard access | To detect and warn about dangerous URLs you've copied (see 2.6). No special Android permission is required for this. | Yes — disabled by default |
| Notifications | To alert you when a threat is detected | Yes — disabled by default |
| Display over apps | To show a floating warning when you're about to open a dangerous link | Yes — disabled by default |
| Internet | To communicate with our scan server | Required |
| Network state | To check if you're online before making requests | Required |
| Run at startup | To restart protection after your device reboots (only if you've enabled scanning) | Automatic if scanning is enabled |
| Foreground service | To keep the scanning service running reliably | Automatic if scanning is enabled |
| Vibrate | To provide haptic feedback on threat detection | Automatic |
All sensitive permissions (Camera, Notifications, Overlay) are disabled by default and require your explicit action to enable. You can revoke any permission at any time through Android Settings or within the app.
Local scan history is kept until you delete it. You can delete individual entries or all history from Settings.
What "Delete My Data" does: When you tap "Delete My Data" in Settings, the app deletes all local scan history, clears all preferences, removes your API credentials, asks our server to remove plaintext URLs, page snapshots and images, reports, and feedback, anonymises the remaining scan logs, marks your device as inactive, and resets the app to the onboarding screen. The only scan data that remains are anonymous URL hashes and threat verdicts that cannot be traced back to you.
In accordance with India's Digital Personal Data Protection Act (DPDPA), 2023, you have the right to:
Vigil includes a built-in transparency log that records every communication with our server. For each interaction, the log shows:
This log is stored only on your device and is never transmitted. You can view it at any time in Settings. We created this log because we believe you should be able to verify our privacy claims for yourself.
Vigil includes an optional Family Mode that allows family members to coordinate protection settings. All family data (family code, member list, roles, protection profiles) is stored locally on each device only. There is no central server-side family management. Family data is never transmitted to our server.
Vigil is not directed at children under the age of 18. We do not knowingly collect data from children. If you believe a child has provided data through Vigil, please contact us for immediate deletion.
We do not sell, rent, or trade your data to anyone — ever. We do not show ads or use data for advertising or profiling.
Anonymised threat signatures (URL hashes, threat type, risk score) may be shared with trusted security partners and used across products to protect more people. These signatures contain no personal data, message content, or sender information — only the mathematical fingerprint of the malicious URL and the type of threat it poses.
We may update this Privacy Policy from time to time. We will notify you of any material changes through the app. Continued use of Vigil after such updates constitutes acceptance of the revised terms. You can always review the latest version in Settings or at this URL. All previous versions will be archived and available upon request.
If you have any questions about this Privacy Policy, want to know exactly what data we hold about your device, or want to request deletion, contact us at:
Email: support@kaiastra.in
Developer: Kaiastra, Hyderabad, Telangana, India
We aim to respond to all privacy-related enquiries within 48 hours.