XOPOZ

GPS · Tracking · Encrypted · Teams

Hello,

A new XOPOZ version — 2026.07.30.01 — is now available, and it is the largest update since the first public build. The headline is Geofencing: you can now ask a teammate's device to let you know when it enters or leaves one of your Points of Interest, and the person asked stays in control of whether to accept. Alongside it come two new ways to reach a team member — Ring, which makes their phone ring even when silenced, and direct Chat — collected together with SOS in a new Event Viewer.

This release also adds nine new map layers, a substantial round of tracking-reliability work, and a fix for GPX and CSV exports that were silently incomplete. The app now targets Android 16, and the download is roughly 40% smaller than the previous build.

As before, you can install it from Google Play, or as a standalone APK from our releases page.

Two ways to get the new version
Google Play is the preferred path — it keeps the app up to date automatically from then on. The standalone APK installs directly if you would rather manage the version yourself.

Open on Google Play

https://play.google.com/store/apps/details?id=com.tbr.xopoz

Download standalone APK

https://tiritix.com/xopoz/releases/index.html

Documentation

The main XOPOZ documentation — setup, teams, encryption model, troubleshooting — is available at:

https://tiritix.com/xopoz

Android App — What's New

Geofencing — be told when someone reaches a place
A new GeoFencing entry in the navigation drawer lets you pick one of your Points of Interest and ask either the whole team or a specific member to notify you when their device enters that place, leaves it, or both. Each request travels as an encrypted message carrying only the coordinates and radius of the zone; the request itself is evaluated on the recipient's phone, on every GPS fix, so your teammate's position is never continuously reported back to you — only the crossing is. When one happens you get a plain-language alert: «Marc entered Base Camp», resolved to the Point of Interest name whenever you have it locally, and to the coordinates and radius when you do not.

GeoFencing Manager — both sides of every rule
The companion GeoFencing Manager screen has two tabs. Requests lists what you have asked of others, with a live IN or OUT badge showing where that device currently stands, plus buttons to pause a rule without deleting it or to remove it entirely. Monitor lists what others have asked of you, showing who asked, the distance and radius involved, and a Deny button — a request you have not accepted is simply not honoured, and the author is told. Tapping an entry tracks the requesting device on the map. Rules you pause stay in the list, greyed out, and stop being evaluated until you re-enable them.

Ring — make a phone ring, even when it is silenced
You can now ring a team member's device. On reception it plays their own default ringtone on a loop, routed as an alarm so that it is heard even when the phone is on silent or vibrate, and shows a full-screen popup over the lock screen with a single STOP RINGING button. The message carries the sender's GPS position, so the person you reach also sees where the call came from. Intended for the case where a teammate is out of earshot of a normal notification but the phone is within reach.

Direct chat between two devices
Short text messages can now be sent to one specific device on your team rather than broadcast to everyone, arriving as an ordinary notification. Like every other Xopoz message, the content is encrypted with the team key and the server only ever relays the sealed payload.

Event Viewer — one place for everything received
SOS alerts, rings, chats, and geofence notifications now collect in a single Events screen, with a bell in the toolbar that tells you when something is waiting. Unread events stand out in dark red; the first tap acknowledges an event and clears the bell, a second tap acts on it — jumping to the map and tracking the device that sent it, for instance. An Ack All button clears the whole list at once. Each row shows the sender, the kind of event, and its details, with geofence positions rendered to five decimals.

Nine new map layers, and a more capable map engine
Map servers are now described with full tile URL templates — {z}/{x}/{y} and {style} — which means servers that expect their parameters in a query string, such as WMTS endpoints, can finally be used. Nine layers ship built in on top of the existing ones: IGN Plan, Ortho, Cartes, État-major, Aérien 1950-65 and Infrarouge, and USGS Topo, Imagery, and Imagery+Topo. The map also respects each server's maximum zoom now, so over-zooming no longer leaves you on a blank grid, and the Settings screen replaces the old limitations warning with a short setup guide explaining what each template variable means. Existing custom servers you added yourself are converted automatically and keep working.

Compass switch
A Compass switch has been added to the navigation drawer. Turning it off hides both the compass overlay and the red heading line, overriding the automatic tilt and speed rules that would otherwise bring them back. It defaults to on.

Tracking that survives the operating system
Several long-standing causes of interrupted tracking have been addressed. When Android — Samsung devices in particular — kills the location service to save power, the app now detects it and restarts the service within fifteen minutes instead of the hour or more previously observed, while still respecting an explicit stop by you. Your trail no longer appears to shrink after a restart: the live trail is kept to exactly the same window as the one reloaded from storage, so what you see during a session is what you get afterwards. A crash that could occur when the system restarted the service in the background has been eliminated, and on opening the map your teammates' trails are now redrawn as soon as fresh positions arrive rather than on the next twenty-second cycle.

GPX and CSV exports were incomplete — now fixed
This one is worth reading carefully. Exports were built from the trail currently held for drawing the map, which is capped by your Trail Duration setting, rather than from everything retained on the device. With a 36-hour trail duration and 30-day retention, an exported file contained roughly 5% of your stored positions, and nothing indicated the loss. Both exports now read the full retained history. If you exported a GPX or CSV from an earlier version and kept it as a record, it is worth exporting again.

No more repeated notifications after being offline
The server re-delivers messages until it can confirm they arrived, which meant that after a flight or any offline period a burst of already-seen alerts could be announced a second time. The app now keeps its own ledger of what it has processed and silently discards anything it already holds. Acknowledgement state is likewise preserved when a message is re-saved, so an event you have cleared stays cleared.

Runtime statistics in Settings
Settings gains a statistics section reporting how the tracking service is actually behaving on your device — useful context to include when you report a problem.

Android 16 and a much smaller download
The app now targets Android 16 (API level 36), ahead of the Google Play requirement taking effect on 31 August 2026. Separately, the bundled alarm and sonar sounds were re-encoded, which brings the download from around 9.6 MB down to 5.6 MB with no audible difference.

Polish and fixes
The run HUD now fits on a single line in landscape; the Change Password dialog gained a show-password toggle; the show-trail switch survives rotation; pull-to-refresh on the Points and Teams screens confirms with a short vibration; submitting a support ticket can now resume after a failed attachment upload instead of creating a duplicate ticket; crashes on leaving the Settings screen mid-load and on the Points screen during teardown were fixed; team visibility is reapplied when you return to the map; and the drawer icons and menu styling were reworked for dark theme.

Backend Server — What's New

Transport for the new message families
The server now relays the direct chat, ring, and geofence request and notification messages introduced in the app, including one-to-one delivery addressed to a single device rather than fanned out to the whole team. As always it stores and forwards sealed payloads only — it cannot read the content of any message it carries.

The server no longer needs to know your message types
Message types used to be validated against a fixed list compiled into the server, so every new kind of message in the app required a server deployment before it could be sent at all. The server now treats the type as opaque text and simply relays it, which is what it always did in practice — it never branched on the value. New app features can ship without waiting on the backend.

Operational health monitoring
A set of live database health views and a staff endpoint to read them were added, along with production database tuning and maintenance routines, and better logging around support ticket submission. This is groundwork for keeping the service responsive as more of you join — none of it is visible in the app.

Get the New Version

Open the Play Store listing, or grab the standalone APK directly from our releases page.

Open on Google Play

Download APK

Documentation

https://tiritix.com/xopoz

Field reports — bug observations, missing markers, unexpected behaviour, or simply confirmation that everything runs smoothly — are very welcome at xopoz@tiritix.com. The built-in Support screen also lets you attach a log file directly from the app. Much of what is listed above — the map server setup guide, the duplicate device ticker, the trail redraw on map open — came from exactly such reports.

Thank you — your feedback is what keeps the quality bar high.

Best regards,

Thierry
Nuremberg, Germany

XOPOZ Manifest

tiritix.com/xopoz · Google Play · APK Releases · xopoz@tiritix.com