Effective Date: March 6, 2026 | Last Updated: August 23, 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. |
| Original URL | Sometimes | Sent only if the hash is not found in our database and a full scan is needed. Required for our server to visit the page and analyse it. |
| 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 if you typed the URL or it was detected in a message. |
| Message text/body | Never | Only URLs are extracted from messages. The message text is never sent to our server or stored. |
| Sender name or number | Never | We do not send sender information to our server. On your device, sender numbers are masked (e.g., "XXXXXX5678") before being stored locally. |
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.
Important: Our server stores URL hashes, not the original URLs in most cases. A SHA-256 hash cannot be reversed back to the original URL. However, for URLs that required a full scan, the original URL is temporarily processed by our server to visit and analyse the page. The original URL is not permanently stored in our database — only the hash, verdict, and threat analysis are retained.
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 — such as page content our server fetched, redirect chain, and structural characteristics — to third-party AI model providers via OpenRouter, which routes the request to large language models (currently Mistral, with other models used for escalated analysis) to help classify the threat. What is sent: the URL, fetched page content, and derived technical features. 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? |
|---|---|---|
| SMS (Read & Receive) | To detect URLs in incoming text messages and scan them for threats | Yes — disabled by default |
| MMS (Receive) | To detect URLs in incoming MMS messages | Yes — tied to SMS toggle |
| 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 (SMS, 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.
Messages from TRAI-registered senders (banks, government bodies, verified businesses) are automatically excluded from scanning.
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 anonymise your scan logs and delete your reports/feedback, marks your device as inactive, and resets the app to the onboarding screen. The only data that remains on our server 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.