Stay in control of your mobile connection and avoid accidental roaming fees—automatically.
When you travel near country borders, your phone may automatically connect to a stronger cell tower across the border, even if you never left your country. This can result in costly roaming fees.
A common scenario is accidental roaming in Switzerland or Monaco which are not covered by EU roaming.
Manually toggling roaming is inconvenient and easy to forget.
Roaming Borders automates the guardrails so you don’t have to.
- Block roaming when you don’t want it
Select allowed countries; if your device connects outside that list, data traffic is blocked. - Avoid surprise charges
Prevent accidental cross-border roaming near national frontiers. - Simple presets or full control
Choose ready-made country presets or build your own list for upcoming trips. - On-device only
Uses Android’sVpnServiceas a local firewall. No tunneling to servers.
Roaming Borders runs a lightweight, on-device VPN that filters traffic based on your current country.
- When your current country is not in your allow-list → block data traffic system-wide.
- When your current country is allowed → allow traffic as normal.
- When connected to Wi-Fi, the guard pauses automatically and resumes once Wi-Fi disconnects.
Note on reboot: After restarting your phone, the guard re-enables after a short delay. To be extra safe, enable Airplane mode before restarting.
- Download the latest APK from Releases.
- Install and open the app.
- Follow the tutorial screenshots above, i.e., select your allowed countries and activate the rule.
The app shows a persistent notification while protection is active (required by Android for VPN/foreground services). You can disable notifications manually.
- No data collection.
The app does not collect, store, or share personal information. - Minimal processing.
The only data processed is the current country of your connection, used locally to decide whether to allow or block traffic.
While the app was successfully tested in several scenarios (e.g. EU SIM roaming in Egypt, Israel, Switzerland), it is technically impossible to guarantee avoiding roaming charges in all scenarios. Known limitations are summarized below.
- Since on Android, currently only a single VPN can be used at the same, this app does not work in conjuction with other VPN apps. The VPN that was started last will be used by the system.
- A few milliseconds may pass between the moment the phone was registered to a blocked country and the moment the data is effectively blocked by the VPN. This is impossible to avoid due to technical reasons and may result in small roaming fees even if it feels like the app is blocking data immediately.
- Some providers may charge a basic fee just for connecting to their cell towers. It is not possible to avoid such costs with this app.
- The VPN service does not cover the entire network stack. Hence, some system apps may still send and receive data which is impossible to avoid.
- When using the phone running this app as mobile hotspot / teathering device, connected devices are not affected by this app. This is also due to the VPN service not covering the entire network stack.
Issues and pull requests are welcome! If you’re proposing a larger change, please open an issue first to discuss what you’d like to build.
If this app saves you time or roaming fees, consider supporting development:
👉 Donate
This project is licensed under GPLv3. See LICENSE for details.
Trademarks: Android is a trademark of Google LLC. This project is not affiliated with Google or any carrier.




