Effective Date: March 6, 2026 | Last Updated: March 6, 2026
Our commitment to transparency: This policy describes, in plain language, every piece of data LinkGuard 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.
LinkGuard is developed and operated by Kaiastra, based in Hyderabad, Telangana, India. LinkGuard 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 LinkGuard collects. There is nothing beyond this list.
When you first open LinkGuard 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, from SMS, 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.
We want to be absolutely clear about what LinkGuard 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 LinkGuard.
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.
LinkGuard 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 LinkGuard. 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 maintains a continuously updated threat database sourced from multiple trusted security intelligence providers. Your device does not contact these providers directly. No personal data is shared with any threat intelligence provider.
We do not use any advertising networks, social media SDKs, analytics platforms, or data brokers. There are no hidden trackers in LinkGuard.
All communication between LinkGuard 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 |
| 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:
LinkGuard 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.
LinkGuard 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.
LinkGuard 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 LinkGuard, 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 LinkGuard 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.