Privacy Policy

Last updated: 6 November 2026

Who we are

Stride Guard is an offline-first, no-root firewall and data saver developed and published by Gafat Software Solutions ("we", "us"). This Privacy Policy explains what the app stores, what leaves your device, and why. It applies to the Stride Guard Android app.

Your rules, settings, and statistics stay on your device

Stride Guard does not require accounts, sign-ups, or cloud sync, and we do not operate a remote server that receives or stores your network traffic. Everything you configure is kept exclusively in the app's private SQLite database on your phone:

None of this information is ever transmitted to Gafat Software Solutions or to any external third party. We cannot see, collect, or access your block rules or app lists.

Local VpnService and network traffic filtering

Stride Guard uses Android's local VpnService API solely to implement a local "black-hole" firewall interface on your device. This is the standard, documented mechanism provided by Android to manage per-app network access without requiring root privileges.

Packets from applications you choose to block are dropped locally directly on your phone. No network traffic is routed, forwarded, proxied, or transmitted to any remote VPN server. Stride Guard does not decrypt, inspect, analyze, or collect the contents of your network traffic, nor does it provide remote VPN browsing or IP location anonymization services.

What leaves your device

Advertising. Stride Guard is free and supported by non-intrusive ads served by Google AdMob. To display and measure ads, Google may collect and process device information such as your advertising ID, IP address (for approximate location), device and app metadata, and ad interaction history. Google's privacy practices are detailed at https://policies.google.com/technologies/partner-sites. Stride Guard never shares your application block rules, installed app lists, or network statistics with advertisers.

Consent. In the European Economic Area, the United Kingdom, Switzerland, and other applicable regions, Stride Guard requests your consent through Google's User Messaging Platform (UMP) before personalized ads or analytics storage are activated. You can manage or update your privacy choices at any time in the app Settings under "Ad privacy options".

Usage analytics. Stride Guard uses Google Analytics for Firebase to understand how the app itself is used, so we can improve it. It records pseudonymous app interaction events: opening app screens, turning firewall protection on or off, blocking or unblocking network access for an app on Wi-Fi or mobile data, using list filters, using the home-screen widget prompt or the Quick Settings tile, creating, switching or deleting a blocking schedule (recorded only as a number of apps and days, never which apps), saving a mobile data limit (recorded only as a size range such as "1-5 GB" and whether it is monthly or daily) and receiving a limit alert (recorded only as the threshold, such as 80%). It also collects standard pseudonymous device metadata gathered by Firebase: an app-instance identifier, device model, Android version, app version, approximate country/region, and session counts. These analytics events never include the names of installed apps on your device, which specific apps you blocked, your block rules, or the content of your network traffic. Where consent is required (such as in the EEA or UK), analytics storage remains disabled until you grant consent in Google's UMP form (Firebase Consent Mode v2), and you can update your choice at any time under "Ad privacy options" in Settings. Google Analytics retains this pseudonymous data for no longer than 14 months.

Ad configuration and fraud prevention. Once the Google consent step allows ads to be requested, the first time the app starts after installation (or after its data has been cleared), it asks a Gafat Software server whether this device has been blocked from showing ads in this app. The request carries the app's package name and a pseudonymous identifier (a one-way hash of your Android ID) that we do not link to your name, email or any account. We use this strictly to prevent ad fraud, click spam, and invalid traffic, never for advertising targeting. Later launches do not contact the server for this check; if the first check cannot be completed, the app tries again the next time it starts.

Stride Guard also limits ads on the phone itself: it pauses ads for 5 minutes after a first ad tap within 24 hours, for an hour after a second, for 24 hours after a third, and for 7 days if an unusually high share of the ads shown is tapped. Each time an ad is tapped, the app also sends one short report in the background to our server, containing the same pseudonymous identifier, the app's package name and the time of the report. A device with five reported taps within 30 days is blocked from ads in this app for 30 days, including after the app is reinstalled or its data is cleared; after that it starts fresh, and is blocked again only by the same rule. If a report cannot be sent, for example because the phone is offline, it is not queued; the pause on the phone still applies.

Ad-tap records on our server. They are filed only under the pseudonymous identifier and the app's package name. We keep: (1) a count of your device's reported ad taps in this app over the last 30 days and, if the device has been blocked, the date of the block; (2) a log of reported ad taps (identifier, app package name and time); and (3) a record of any temporary ad pause (identifier, reason and length of the pause), written only by earlier versions of the app and stored for at most 30 days. Retention: reported ad taps (identifier, app package name and time) are deleted after 30 days, and only the last 30 days of taps are counted; a record that your device was blocked from ads is deleted 30 days after the block, after which your device starts fresh; and a record of a temporary ad pause (identifier, reason and length of the pause), written only by earlier versions of the app, is deleted within an hour after the pause ends. Stride Guard's firewall functionality operates identically regardless of ad pause status.

Permissions

VPN Connection (BIND_VPN_SERVICE): Used exclusively to establish the local black-hole firewall interface to block selected app connections locally on your device.

Foreground Service (FOREGROUND_SERVICE / SPECIAL_USE): Used to maintain the active status of the local firewall so background apps cannot bypass your configured rules, accompanied by an ongoing system status notification.

Query All Packages (QUERY_ALL_PACKAGES): Required to display the full list of apps installed on your device so you can configure per-app Wi-Fi and mobile data rules and choose the apps for a blocking schedule. The app list is read locally on demand and never transmitted off your phone.

Notifications (POST_NOTIFICATIONS): Used on Android 13+ to display the ongoing firewall status notification, the weekly summary if you enable it, and mobile data limit alerts if you set a limit. The weekly summary is built on your phone from your firewall statistics, and limit alerts are built on your phone from your data usage totals.

Usage access (PACKAGE_USAGE_STATS): Optional. Used only to read your phone's day-by-day mobile and Wi-Fi data totals from Android's own data usage statistics, so the Shield tab and the data usage screen can show what your phone used and, if you set a mobile data limit, so the app can measure this billing cycle's mobile data against it. While App Pause is on, it is also used to see which app is in front, so that app can stay online while your other installed apps are paused. You grant it yourself on a Settings screen and can withdraw it at any time; without it the app works and shows an explanation instead. The totals and the foreground-app answer are read on demand on your phone, are not stored by the app, and are never transmitted off your phone.

Run at Startup (RECEIVE_BOOT_COMPLETED): Used to restore the firewall service after your device restarts, provided you have enabled the "Start on boot" preference, and to resume the mobile data limit check if you set one.

Schedules, widget and tile: Blocking schedules use your phone's clock and time zone and need no extra permission; Stride Guard does not request exact-alarm permissions. The optional home-screen widget and Quick Settings tile show your protection status and open the app on your phone; they need no permission of their own and no network access.

Internet access and network state (INTERNET, ACCESS_NETWORK_STATE): Used to load ads, send the analytics described in this policy, and make the ad configuration check. Your block rules and statistics are never sent.

Added by Google's libraries: The advertising ID permission (AD_ID) and the Android ad services permissions (ACCESS_ADSERVICES_AD_ID, ACCESS_ADSERVICES_ATTRIBUTION, ACCESS_ADSERVICES_TOPICS) let Google's ads library use Android's advertising ID and Privacy Sandbox ad measurement features; they follow your phone's Ads privacy settings. WAKE_LOCK lets those libraries finish background work such as sending ad and analytics data, and the Google Play install referrer permission lets Google Analytics for Firebase see which Google Play page or campaign led to the install.

Advertising ID (AD_ID): Used by Google AdMob as described above for ad serving and fraud mitigation.

Location: Stride Guard does not request Android's location permission, nor access to your contacts, camera, or microphone. Google's advertising service may estimate your approximate location from your device's IP address when serving an ad, as described under Advertising above.

Security

Your firewall rules and statistics are stored in the app's private SQLite database, protected by Android's application sandbox which prevents other standard applications from reading its contents.

Legal basis and your rights (EEA/UK)

We process data on these bases: your consent, for personalised ads and analytics storage (you can withdraw it any time under Ad privacy options in Settings); our legitimate interest in preventing ad fraud and invalid traffic, for the hashed-identifier ad check and tap reports. You have the right to access, correct, delete or object to processing of your data, and to complain to your local data protection authority. Contact us at developer.gafatsoftware@gmail.com. Google and our server provider may process data outside your country; Google relies on approved safeguards such as Standard Contractual Clauses.

Children

Stride Guard is a system utility tool intended for general audiences. It is not directed at children under 13 and does not knowingly collect personal information from children.

Keeping and deleting your data

Your firewall rules and statistics remain on your device until you remove them. Clearing Stride Guard's app data or uninstalling the app permanently deletes all stored block rules and local statistics. To reset your device's advertising ID or opt out of personalized advertising, use your phone's Android or Google Privacy Settings.

Ad-tap records on our server are deleted automatically: reported ad taps (identifier, app package name and time) are deleted after 30 days, and only the last 30 days of taps are counted; a record that your device was blocked from ads is deleted 30 days after the block, after which your device starts fresh; and a record of a temporary ad pause (identifier, reason and length of the pause), written only by earlier versions of the app, is deleted within an hour after the pause ends. They are filed only under a pseudonymous identifier (a one-way hash of your Android ID) that we do not link to your name, email or any account.

How to ask us to delete your data

E-mail developer.gafatsoftware@gmail.com from any address with "Stride Guard data deletion" as the subject line. Mention approximately when you used the app and your phone model so we can identify any analytics identifiers associated with your install. Ad-tap records are filed only under the pseudonymous identifier, so we cannot find them from a description of your phone; they are deleted automatically on the schedule given above.

We will delete any analytics data identified for your app-instance within 30 days of your request. There is no user account to delete because Stride Guard does not use account registration. Clearing the app's storage or uninstalling it immediately removes all local rules and statistics from your phone.

Changes to this policy

If this policy is updated, the revised version will be published at https://gafatsoftware.com/apps/stride-guard/privacy_policy.html with a revised "last updated" date.

Contact

Questions regarding this Privacy Policy can be sent to developer.gafatsoftware@gmail.com.