Who we are
Captain Aetos is developed and operated by Nsr Elmtagr for Digital Marketing LLC (شركة نسر المتاجر للتسويق الإلكتروني), an Egyptian limited liability company, commercial register 11501 (Ismailia Investment Registry). Privacy contact: admin@nsrelmtagr.com.
What the app does
Captain Aetos is a decision assistant for ride-hailing captains using the inDrive, Uber and DiDi apps. It reads the request cards visible on your screen and shows a verdict over them according to rules you set (price per km, distance caps, minimum rider rating and trip count, request age, areas). The app is read-only: it never taps, accepts, rejects or negotiates on your behalf.
Captain Aetos is independent: it is not affiliated with, endorsed by or partnered with inDrive, Uber or DiDi. "inDrive", "Uber" and "DiDi" are trademarks of their owners and are named here for identification only. Every request remains your decision; the verdict shown is guidance built from your rules and what is on screen, and it can misread.
AccessibilityService
Captain Aetos uses Android's AccessibilityService API for one purpose: reading the ride requests on screen inside the supported ride apps only (inDrive, Uber and DiDi): request price, pickup and trip distance and time, rider rating and trip count, payment method, request age and the addresses shown. In inDrive it reads the text on screen and captures the map region of the request detail screen to read route distance and time. Uber and DiDi draw their request cards as pictures whose text cannot be read, so the app takes a screen capture in the moment only while DiDi is on screen or an Uber request card is showing (even when it floats over another app), and reads it on the phone. Captain Aetos is not an accessibility tool for people with disabilities; this is disclosed to you in the app and your explicit consent is required before the service can be enabled. The app reads no other app and takes no screen captures at any other time.
What we collect and what we do not
- Request and rider data is processed in your phone's memory to show the verdict and then discarded. It is never stored persistently and never sent to our servers or any third party. We do not store rider names, phone numbers, addresses or screenshots, with the single exception of the map-region picture described in the next item.
- Screen and map captures are read by on-device text recognition (Tesseract, and Google ML Kit running on the device), kept in memory for the moment of reading and then deleted, and are never saved on the phone. None of them is uploaded, except the map-region picture in the case described in the next item.
- The map picture when reading fails: if the app cannot read the route distance or time from the map on the request detail screen, it sends our server, on its own, a picture of the map region only (not the whole screen), with the request's numbers and codes (price, distances, rating, trips, request age, failure code), your phone's display settings (system language, font size, screen size and density), the app version, phone model, Android version and ride app. The picture shows the route and the pickup and drop-off points on the map and contains no rider name. This happens only after you give explicit consent in the in-app disclosure that names it, and at most 30 pictures a day per device. Its only purpose is finding and fixing why reading failed. We delete the picture as soon as its report is reviewed and closed, and in any case within 90 days of sending. To stop it, turn off the accessibility service or uninstall the app.
- Activity and free-plan counting: for one day, the app keeps a short irreversible hash of each marked card locally so the activity summary does not count it twice. The free plan offers unlimited list verdicts and counts five successful detail analyses per day. The hash contains no request text and is not sent to our server.
- App usage analytics: the app sends our server a fixed category of events, such as opening a screen, a list verdict, a detail-analysis result, an alert playback or a subscription attempt, together with the categorical result, ride app, Aetos version, interface language, market and governorate, and derived device identifier. This includes how many requests were read and how many were not, with the category of the missing part (fare, distance or numbers). With the license check the app also sends the phone maker and model, the Android version and the versions of the supported ride apps you have installed, so we can tell whether a reading problem is general or tied to one phone or version. Repeated events are grouped locally before upload. Analytics contain no rider name, phone number, address, request text, screenshot, fare or the exact values of your rules. We use them to find reading failures, understand journeys, improve the product and measure conversion. We do not use them for ads or sell them to a third party.
- Your rules and settings (price per km, caps, areas, language, bar opacity) are stored in full on your phone and excluded from cloud backup.
- An aggregated summary of your settings: as part of usage analytics the app sends a summary of your settings in categories only, such as your price-per-km band (for example 6 to 8, not the number itself), how many areas you avoid or prefer but not their names, and whether alerts are on. It never sends area names or exact values. We read these categories aggregated across all captains to improve the default settings and build new features. We do not use them for ads or sell them. They are deleted with the other usage events after 90 days.
- Problem reports: when you tap the flag on the bar or send "Report a problem", our server receives the problem type, the text you write, one picture only if you pick it yourself from your gallery, the map-region picture of that request when there is one and you accepted the disclosure (the app takes no whole-screen capture for this), the numbers and codes of that request (price, distances, rating, trips, request age, state code), the reader's last steps in codes and numbers only, and the app and Android versions. You can open "Report a problem" from the bar or from the reader notification. The screen asks you not to write names or phone numbers. Purpose: fixing the problem and replying to you. The phone also keeps the last 20 numeric reports locally.
- License data (sent to our server): a derived device identifier (the first 128 bits of an irreversible SHA-256 hash of the Android ID), app version, distribution channel, the app's signing-certificate fingerprint, a discount code if you entered one, interface language, market and governorate, and your license key or Google Play purchase token when you subscribe. Purpose: running the trial, the free plan, subscription verification and blocking tampered copies. The app contacts the server about every 12 hours and on activation.
- Support contact details: if you save your name and WhatsApp number in the support card, the app sends them to our server with your device record so we can follow up on support requests. Entering them is optional. They are not included in app usage analytics events.
- Market and governorate: the country and governorate you pick in settings are sent to the server to show the price and messages for your area. The app uses no GPS and does not ask for the location permission.
- We do not collect: your precise or device location, contacts, any picture other than one you picked for a report or the map-region picture described above, microphone, advertising ID, or anything for advertising. The app contains no ads and no third-party analytics or tracking SDKs, apart from the technical data the Google ML Kit library sends, described under Third parties. A link to this policy is inside the app (home screen and subscription screen).
Third parties
- Google Play Billing handles payment and subscriptions under Google's privacy policy; we never see your card details.
- Cloudflare hosts the license server (Workers and D1); license requests pass through Cloudflare's network.
- Google ML Kit is Google's on-device text recognition library. The library does not send the images to Google, but it sends Google technical data about its own operation: device maker, model and OS version, app package and version, a per-installation identifier that does not identify a person, performance metrics and error codes, encrypted over HTTPS and not transferred by Google to third parties (https://developers.google.com/ml-kit/android-data-disclosure).
- Google Play Developer API is used to verify your subscription (purchase token, order id, expiry).
Retention and deletion
- The server-side device record (derived id, verification times, trial state, market and governorate, interface language, phone model, Android version and ride app versions, name and WhatsApp number if you saved them, discount code if entered, subscription records: purchase token, order id, expiry) is kept while you use the app and for 12 months after the last contact, for accounting and support, then deleted automatically. Problem reports are deleted automatically 12 months after they are sent; any picture attached to a report (one you picked or the map-region picture) is deleted when the report is closed and in any case within 90 days of sending, and automatic map reports themselves are deleted after 90 days. Usage events are automatically deleted after 90 days.
- You can ask for your data to be deleted at any time with the steps on the data deletion page: captainaetos.com/delete-data . We delete your device record, its subscription records, reports, pictures and usage events within 30 days. Uninstalling the app deletes all local data.
Security
Server traffic is HTTPS only; server answers are digitally signed and verified by the app. The app requests only: draw over other apps (for the bar), the accessibility service (for reading), notifications (one notification showing whether the reader is on, which you can silence in settings), vibration (for the good-request alert, only if you turn it on), internet and network state (for licensing), and Google Play's billing permission (for the subscription). The reader switches itself off after a period you choose without a ride app on screen, and you can stop it at once from the home screen.
Your rights
Under Egypt's Personal Data Protection Law No. 151 of 2020 and comparable laws, you may access, correct and delete your data with us, object to its processing and withdraw consent (by disabling the accessibility service or uninstalling the app). The legal basis for license data is the performance of our contract with you (running the trial and the subscription); for screen reading and sending the map-region picture it is your explicit in-app consent. Requests go to admin@nsrelmtagr.com and are answered within 30 days.
Children
The app is intended for adult ride-hailing captains and is not directed at anyone under 18.
Changes
When this policy changes we update the date above and publish the new version at the same URL; when a change touches what is read or sent, the app shows the disclosure again and the new item does not apply before you accept it.