Mileage & Tax Log: Deduction — Privacy Policy
Last updated: 29 October 2026 · Package:
com.ibrahimtxy.kmvergi · Developer: bulbildir
1. What the app does
Mileage & Tax Log: Deduction keeps the records you enter and works them out for you. An example entry: Client visit · 42.6 mi · 14 March.
The app reads nothing from the internet: it contacts no source, looks nothing up and has no account to sign in to. Every figure it shows is computed on this phone from what you typed.
2. Data we collect
The developer collects none. We run no server and receive nothing from your device — not your records, not your device identifier, not your usage, not crash reports.
The one exception is advertising, and the developer does not process that either: in the free tier Google serves the ads and may use your device's advertising ID (AAID) and IP address. See §5.
3. What is stored on your device
The records you enter, the settings you choose and the reminders you set, with the time each reminder last went off so that it is not sent twice. All of it lives in the app's private storage and is deleted when you uninstall the app.
4. Servers the app talks to
For its own work, none. The app contacts no source server: there is nothing to fetch. The only network traffic it makes is the advertising and purchase traffic described in §5 and §6, and the free tier is the only tier that makes the first of those.
5. Advertising
This section applies to version 0.1.0 and later. Earlier versions show no ads, contain no advertising library and read no advertising ID.
The free tier shows ads. They are served by Google AdMob; the developer does not choose what is shown and has no direct relationship with advertisers. The formats used are:
- Banner — at the bottom of the screen; it never covers your content.
- Rewarded — only when you tap the offer yourself; it relaxes free-tier limits for 24 hours.
- Native — a card inside the app's own screens, always marked with an “Ad” label.
Interstitial, rewarded interstitial and app open ads are no longer used; versions of the app released before 28 October 2026 also showed these formats.
- Paid members see no ads and no ad request is made — nothing leaves the device for AdMob, and no consent form is shown.
- To select, serve and measure ads, Google may use your device's advertising ID (AAID) and IP address. The developer never reads or stores that identifier; Google is the party that processes it.
- You can reset or delete the advertising ID in Settings › Google › Ads. The app keeps working if you do.
- In the European Economic Area, Switzerland and the United Kingdom, Google's certified consent form is shown before the first ad loads. You can change your choice later from the Privacy options link inside the app.
- How Google processes this data: policies.google.com/technologies/partner-sites
There is no analytics (Firebase Analytics and the like), no crash reporting (Crashlytics and the like) and no marketing tracker. How you use the app is never reported to the developer.
6. Permissions
| Permission | Why |
|---|---|
ACCESS_COARSE_LOCATION | Only to stamp an approximate place on a record you create, and only while you are creating it. It is never read in the background and never sent anywhere. |
ACCESS_FINE_LOCATION | To record where an entry was taken. Location is read ONLY while you are recording, stays on the device and is never sent anywhere; if you decline, the app keeps working without location. |
ACCESS_NETWORK_STATE | So the ad library can see the connection state. Your entries do not use the network. |
FOREGROUND_SERVICE | So Android does not stop the work while a recording is running. The service is VISIBLE in the notification shade; it never runs hidden. |
FOREGROUND_SERVICE_LOCATION | The service type required to read location while a recording runs. It starts only when you start a recording and stops when you finish. |
INTERNET | For ads ONLY. Your entries never leave the device and the app has no server of its own. |
POST_NOTIFICATIONS | To remind you about the dates and reminders you set yourself. |
READ_BASIC_PHONE_STATE | So the ads library can tell Wi-Fi from mobile data. It grants no access to your phone number, IMEI or call log; the app does not declare it, the ads library adds it. |
RECEIVE_BOOT_COMPLETED | So your reminders keep working after the phone restarts. |
VIBRATE | To vibrate when a notification arrives. |
WAKE_LOCK | So the phone does not fall asleep in the middle of a check. The app does not ask for this itself; the background work library (Android Jetpack WorkManager) adds it. |
BILLING | So you can buy a paid membership through Google Play. The app does not declare this permission itself; the Google Play Billing library adds it. Your payment details (card, address, invoice) never reach the app and are never seen or stored by it — Google Play takes the payment. All the app learns is whether your membership is active. |
AD_ID | Ads in the free tier are served by Google AdMob, which may read the device advertising ID (AAID). The app does not declare this permission itself; the ads library adds it. Paid members make no ad request at all. You can reset or delete the ID in Settings › Google › Ads. |
7. Payment and membership
If you buy a paid membership, the payment is handled by Google Play. Your card details are never entered into the app and are never seen by the developer.
Monthly and yearly memberships renew automatically; Google Play charges your account at the start of each period. The lifetime membership is a one-off purchase and does not renew. You can cancel a subscription at any time in Google Play Store › Menu › Subscriptions; cancelling takes effect at the end of the period you have already paid for. Refunds are also handled by Google Play — the developer has no access to the payment.
The app has no server of its own. Whether your membership is active is read again every time the app asks Google Play (when you open the app and when you view the membership screen). That is why a cancellation or refund closes the membership the next time you open the app. If you changed device, Restore purchases on the membership screen brings back a purchase made with the same Google account.
8. Children
The app is not directed to children. The developer collects no data from anyone; the advertising data described in §5 is processed by Google.
9. Keeping and deleting your data
Everything the app stores stays on your device; there is no account and no server copy. Clearing the app’s storage, or uninstalling the app, deletes everything it has ever kept — nothing survives elsewhere, so there is no separate deletion request to make. A paid membership is held by Google Play, not by the app: it survives reinstalling and can be brought back with Restore purchases.
10. Changes
If this policy changes, the date at the top changes with it.
11. Contact
12. This app in detail
The sections above apply to every app by this developer. What follows is written for this app only and describes exactly what it records, what it never records and what it will not claim.
SUMMARY The developer receives none of your personal data. Everything you enter or that the app measures — the date, the start and end time and the LENGTH of each journey, whether it was business, personal, medical, charity or moving, its category, purpose, note, client or job and load, your vehicles and their odometer readings, the frequent trips, categories, reminders and working-hours rule you save, the mileage rates you set up and, if you use the tax set-aside estimate, the set-aside rate and period earnings you type — is stored ONLY on your device. There is no account and no sign-in, and no network connection is made in order to record a journey, calculate a deduction or produce a report. LOCATION: WHAT IS MEASURED AND WHAT IS NEVER STORED To measure how far you drove, the app reads GPS while automatic detection is switched on, or while you record a single trip with Record one trip. What is written to storage is TWO TIMESTAMPS AND A LENGTH; if you later correct a measured distance, the length that was measured is kept next to yours so the report can show both. NO COORDINATE IS EVER WRITTEN TO DISK: there is no route, no start address, no destination and no map anywhere in this app, and a saved frequent trip holds a name and a distance, never an address. The app holds at most two readings in memory, only as long as it needs them to measure the distance, and then forgets them. A backup file you write yourself contains the same thing — times and lengths — and no coordinates. IMPORTING FROM ANOTHER APP You can bring trips over from another mileage app by picking ONE file through Android's own file picker: a CSV export with a header row, or a GPX track. The app gets access to that file only, reads it once and asks for no storage permission. From a CSV it keeps the date, the start and end time, the distance, the type, the purpose, the note, the client or job and the vehicle name; address and location columns are NOT read. From a GPX track it keeps only the start and end time and the length: the track's points are used in memory to measure the length and are then forgotten, and its name is not kept either. NO COORDINATE IS WRITTEN TO DISK. Before anything is saved you see what will be imported, and a row that overlaps a trip you already have is skipped. DETECTION ONLY RUNS WHEN YOU SWITCH IT ON Automatic detection, and a single trip you record with Record one trip, run as a foreground service. While it is running, a permanent notice stays in your status bar, so measurement can never happen without you seeing it. It stops the moment you switch detection off or tap Stop, and it NEVER restarts by itself — not after a reboot, and not when you next open the app. A single trip does not end by itself either: it ends when you tap Stop, and a trip in which no distance was measured is not saved. BACKGROUND LOCATION PERMISSION IS NOT REQUESTED android.permission.ACCESS_BACKGROUND_LOCATION is not in this package. That separate permission would let an app read your location even when you have not switched anything on; this app does not ask for it and does not want it. android.permission.ACTIVITY_RECOGNITION is not in this package either — movement is measured from location itself, so there is no reason to ask the phone what your body is doing. Location permission is requested only when you switch automatic detection on or tap Record one trip, after the screen has explained exactly what is measured — never at start-up. NO CONTACTS, NO CALENDAR, NO CAMERA, NO MICROPHONE The app requests NO contacts permission and NO calendar permission; android.permission.CAMERA and android.permission.RECORD_AUDIO are not in this package either. It does not need them: it measures distance and multiplies it by a rate. Bank feeds, expense receipts and invoicing are deliberately out of scope. The Help & support card opens your email app or your browser only when you tap one of its buttons; nothing is sent by itself. NOTHING LEAVES THIS PHONE UNLESS YOU SEND IT A trip log says when you drove, how far and how often, week after week. It runs entirely on this device and is never uploaded. Automatic cloud backup is switched off (allowBackup=false); a backup is only written when you choose to write one, to a file you select yourself. That backup contains your trips AND the rates you entered, together with your vehicles, odometer readings, frequent trips, categories, reminders and working-hours rule and the set-aside rate and earnings you typed for the estimate, so a new phone can start where the old one stopped. Send PDF and Send CSV put the report in a private folder inside the app and hand it, through Android's share sheet, only to the app you choose there (for example your email app). This app itself uploads nothing, and each new send replaces the previous file in that folder. What happens to the file after that is decided by the app you chose. Send Excel does the same with the Excel (.xlsx) file. INTERNET AND PERMISSIONS The internet permissions (android.permission.INTERNET, android.permission.ACCESS_NETWORK_STATE) are used for advertising only. ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION measure journey distance; FOREGROUND_SERVICE and FOREGROUND_SERVICE_LOCATION let that measurement keep running with the permanent notice described above. POST_NOTIFICATIONS shows that notice and the reminders you switch on — unmarked trips, your report and logging a day's trips; VIBRATE and RECEIVE_BOOT_COMPLETED are used for the reminders, and WAKE_LOCK is added by the background work library while a scheduled check runs. The reminders are worked out on this phone from your own records and never arrive between 22:00 and 08:00. Notification permission is requested only when you switch a reminder or location measurement on (measurement only runs together with its notice) — never at start-up. The advertising library adds com.google.android.gms.permission.AD_ID and android.permission.READ_BASIC_PHONE_STATE to the package. Purchases use com.android.vending.BILLING. ADVERTISING (Google AdMob) The free version shows Google AdMob advertising. Three ad formats are used: a bottom banner, a native ad inside the app's own content, and a rewarded video you start yourself. There are no full-screen ads between screens or when the app opens. AdMob may process identifiers such as the advertising ID in order to serve ads. NO LOCATION DATA IS SHARED WITH THE ADVERTISING LIBRARY OR WITH ANYONE ELSE — the ad SDK never receives your journeys, and the app holds no location permission on its behalf. Users in the European Economic Area, the United Kingdom and Switzerland are shown a consent screen through Google's User Messaging Platform (UMP), and you can change your choice later under Settings > Privacy. Google's privacy policy applies to AdMob's own processing: https://policies.google.com/privacy PAID MEMBERSHIP You can buy an ad-free membership through Google Play Billing. A paying member sees no advertising at all: no ad is displayed and no ad request is even sent. The paid plan also unlocks the PDF, CSV and Excel deduction report (export and send) and a wider history window. Alternatively, watching a rewarded ad unlocks both for 24 hours. Purchases are handled by Google Play; the app never sees or stores your payment details, and you can restore an existing purchase from the membership section. RECORDING AND MARKING TRIPS IS NEVER BEHIND THE PAYWALL Recording journeys — automatically, with Record one trip or by hand — marking them business or personal, editing and splitting them, and seeing this period's distance and deduction are unlimited on every plan, including the free one. The calculation happens on your phone and costs nothing to run, and this is a figure about your own tax deduction — putting it behind an ad would be using the product against the person who needs it. What money buys is how many past trips the history list shows and whether you can export or send the PDF, CSV and Excel report. THE LIMIT NEVER DELETES ANYTHING: trips outside the window stay on the device and a backup always contains every one of them. Unmarked trips are shown on every plan no matter how old they are, because a trip you cannot mark is a deduction you cannot claim. NO MILEAGE RATE IS USED UNTIL YOU SAVE IT Rates are set by tax authorities and they change, sometimes in the middle of a year; they also differ in shape, because some countries pay one flat rate and others pay a higher rate up to a yearly distance and a lower rate above it. The tax year itself starts on a different date in different countries. A number the app applied by itself would keep producing a confident, wrong figure long after the rules had moved, and nothing would look broken. So the deduction is only ever calculated with a rate you saved, and you record where you read it; that source is printed in the header of every report the app produces, so anyone checking your return can check the rate too. Medical, charity and moving trips are priced only with a rate you saved for that type of trip; the business rate is never applied to them, and their amounts are shown separately and are never added to the business deduction. For the United States the app carries one table: the IRS standard mileage rates for business use for 2022 to 2026, as irs.gov listed them on 30 September 2026, including the changes of 1 July 2022 and 1 July 2026. When your profile's country is the United States or is left empty, the rate form offers to fill in that table's rate for you to compare with the IRS page; nothing is counted until you save it, a year that is not in the table is never filled in and the nearest year is never used instead. For every other country the app contains NO mileage rates, NO band limits and NO tax-period dates. Source of the US table: https://www.irs.gov/tax-professionals/standard-mileage-rates UNMARKED TRIPS ARE NEVER COUNTED AS BUSINESS A journey that you have not marked is left out of the deduction. The app will not guess: guessing "business" would put a claim in your return that you never made, and guessing "personal" would quietly cost you money. The report lists unmarked distance on its own line and says it is not included. A working-hours rule is not a guess, because you write it yourself, and it is off until you switch it on: it marks a trip as business only when the whole trip falls inside your working hours on one of your working days, and as personal only if you chose that for trips entirely outside them. A trip that is only partly inside stays unmarked, every trip the rule marked carries a "by rule" note on screen and in the report, and the rule never changes a trip you marked yourself. An imported trip whose type the app does not recognise is imported unmarked too, with the original wording kept in its note. NOT TAX OR ACCOUNTING ADVICE THIS APP IS FOR INFORMATION ONLY AND IS NOT TAX, ACCOUNTING, LEGAL OR FINANCIAL ADVICE. It is not connected to any tax authority, bank or accounting provider, it does not file anything on your behalf and it does not verify anything for you. The figure it produces is an estimate based on the journeys recorded on this phone and the rate you entered yourself. The optional tax set-aside estimate only takes the period's mileage deduction off the earnings you type and multiplies the rest by the rate you type; it does not know your tax bracket or what you actually owe. Whether a journey is deductible, which rate applies and what records you must keep are decided by your tax authority, not by this app. Check your own authority's current guidance or ask a qualified accountant before you file. MEASUREMENT The app keeps five counters on this device — trips recorded, trips marked, mileage rates saved, reports exported and unmarked-trip reminders delivered. They are shown to you under Settings > Usage and are never sent anywhere (a report you send counts as an export). There is no analytics SDK in this package. CHILDREN The app is not directed at children. CHANGES This policy may be updated; the current version is published at: https://bulbildir.it.name.tr/gizlilik/kmvergi.html Questions: bulbildir@mail.com