Dotori Bluetooth Keyboard
Turns the phone into a Bluetooth HID keyboard and mouse, so a PC or TV can be driven with nothing installed on the other side. Includes a trackpad, horizontal scroll and Korean jamo-decomposed key transmission.
Bluetooth HID remotes and on-site network utilities. No accounts, no sign-in, and no server of ours that your data passes through.
All apps are Android. Published apps link straight to Google Play; the rest get a link as they go live.
Turns the phone into a Bluetooth HID keyboard and mouse, so a PC or TV can be driven with nothing installed on the other side. Includes a trackpad, horizontal scroll and Korean jamo-decomposed key transmission.
A presentation clicker, deliberately limited to five actions over Bluetooth HID — next, previous, start from the beginning, start from the current slide, and exit. Nothing to mis-tap while you are speaking.
Turns the phone into a Bluetooth HID mouse with a trackpad, three buttons, vertical and horizontal scrolling and adjustable pointer sensitivity.
The 17 keys a tenkeyless keyboard leaves out, sent over Bluetooth HID. Reads the host's own Num Lock and Caps Lock lights instead of guessing.
Sweeps the private subnet of the Wi-Fi you are on and identifies which devices answer, listing each as IP, kind and note. Built for walking into an unfamiliar site.
SSH connections, a terminal, and trust-on-first-use host key management. Can be entered straight from a Dotori WiFi Scanner result via deep link.
Converts Arabic and Roman numerals both ways as you type, with the classical overline for values past 3999 and a help page that teaches the notation.
Converts 30 currencies at once at the European Central Bank's official daily rates. Edit any row and the rest follow; the stored rates keep working offline.
Downloads videos and playlists to the location you choose. Requests go from your device to the source directly — never through a server of ours.
A remote for LG webOS TVs that drives the set over the local network instead of infrared — trackpad pointer, keys, direct channel entry and power through the TV's own control protocol. Text entry is out of scope for the first version.
Choose from eight categories and compare units on one screen, with automatic unit selection and Korean traditional measures. Conversion works offline from first use.
Read Korean and English receipts on your device, review amounts and currencies, and share confirmed records as CSV. This month’s totals stay separate by currency.
Read Korean and English business cards on your device, review each detail, then add it to Contacts or share a vCard. Card data stays in the app.
Crop a portrait to Korean passport, driver’s license and ID card sizes on your device, then save it to your gallery or as a 4×6 print sheet.
Bug reports, questions and feature requests all go to one address.
When reporting a problem, the app name, app version, phone model and Android version make it far easier to reproduce. For the HID remotes, telling us what the PC or TV side actually received is the most useful detail of all.
Effective date: 23 September 2026 · Developer: droidactor (individual developer) ·
Contact: droidactor@gmail.com ·
Applies to every app listed in section 7 below.
한국어 개인정보 처리방침
The short version. These apps have no accounts and no backend of ours. App content stays on your device or is exchanged only with the device, host or source you choose (sections 2 and 7); it is not sent to a developer-operated server or included in advertising requests. Google SDKs separately process advertising and, for Receipt Scanner, Business Card Scanner and ID Photo Maker, ML Kit diagnostic data as described in sections 3 and 7. Uninstalling removes local app storage; calendar entries, shared exports and backup copies have separate lifecycles in sections 6 and 7.
We operate no app account, analytics backend, crash-reporting service or server that receives app content. This does not describe all third-party SDK processing: Google Mobile Ads handles advertising data, and Receipt Scanner, Business Card Scanner and ID Photo Maker use ML Kit diagnostics. See sections 3 and 7 for those separate data flows.
These apps work with technical identifiers by nature — a scan finds IP addresses, an HID remote pairs with a Bluetooth host — and they also hold what you type into them. All of it is used on the device to make the feature work, is never sent to a server of ours, and is never passed to the advertising SDK. Calendar entries may sync through the calendar you choose. For Dotori Unit Converter, Android backup or device transfer may also include stored app data, as described in section 7. Receipt Scanner and Business Card Scanner settings may also be included in Android backup, but their receipt or card databases and images are excluded. ID Photo Maker does not allow Android backup, and its working photos are also excluded from device transfer:
The apps have no developer-operated backend, so the developer never receives device serial numbers or device IDs. SDK identifier handling is described in sections 3 and 7.
The apps that carry ads show them through Google AdMob (the Google Mobile Ads SDK). Dotori YouTube Downloader carries no ads. Per Google's own data disclosure, that SDK may automatically collect the following and share it with Google and advertising providers — for ad delivery, measurement and analytics, and fraud prevention:
Data the ad SDK sends is encrypted in transit. Whether ads are personalised — and the actual scope of processing — depends on your consent, your region, your Android ad settings and the AdMob configuration. That processing is governed by Google's own policies, linked at the end of this section.
Two rules we hold ourselves to. First, the ad SDK is initialised only when Google's User Messaging Platform permits ad requests after the applicable privacy flow. A consent form is shown when required. Second, the technical identifiers in section 2 are never handed to the ad SDK; nothing about the network you scanned or the host you paired with reaches an advertiser.
In apps including Bluetooth Keyboard, PPT Remote, Bluetooth Mouse, Bluetooth Numpad, WiFi Scanner,
SSH Terminal, LG TV Remote, Unit Converter, Receipt Scanner, Business Card Scanner and ID Photo Maker, a banner slot that cannot request or fill a paid ad may instead
show a first-party card labelled Promo for one of our other apps. This card
does not use the Mobile Ads SDK and does not collect or send app, network or device data. A tap
first opens an in-app description; the official product page on
droidactor.github.io is handed to your default external browser only if you choose
Learn more. A first-party card is never placed over a loaded paid ad.
You can reopen the privacy options and change or withdraw consent at any time from each app's Settings screen.
| Permission | Apps | Why |
|---|---|---|
BLUETOOTH_CONNECTBLUETOOTH_ADVERTISE |
Dotori Bluetooth Keyboard Dotori Bluetooth PPT Remote Dotori Bluetooth Mouse Dotori Bluetooth Numpad |
To appear as a HID keyboard/mouse to a nearby host and send your key and pointer input to it. Required by Android for any Bluetooth pairing. |
BLUETOOTHBLUETOOTH_ADMIN |
Dotori Bluetooth Numpad | Legacy Bluetooth permissions for connecting to a host over Bluetooth HID on Android 11 and earlier. |
NEARBY_WIFI_DEVICESneverForLocation |
Dotori WiFi Scanner Dotori SSH Terminal |
To read the subnet of the Wi-Fi you are connected to, which is what the scan
range is derived from. The neverForLocation flag is declared, so Android
enforces that this is not used to derive your location — and these apps request no location
permission at all. |
CHANGE_WIFI_MULTICAST_STATE |
Dotori LG TV Remote | To hold a multicast lock while the app looks for your TV. Without it Wi-Fi power saving discards the SSDP discovery replies before the app sees them. It grants no access to your location and none to any network you are not already on. |
RECORD_AUDIO |
Dotori Bluetooth Keyboard | Requests microphone access when you enable voice input. Speech is recognized on the device; audio is not sent to a server or the connected host. |
CAMERA |
Dotori ID Photo Maker | Requested only when you choose to take a photo. The captured photo is processed on the device and is not sent to a server. |
INTERNETACCESS_NETWORK_STATE |
All, including Dotori Receipt Scanner, Dotori Business Card Scanner and Dotori ID Photo Maker. These apps get these declarations through the advertising library. | To reach the devices or sources you asked for, and to fetch ads. The HID remotes send your input over Bluetooth, not over the internet. Dotori Currency Converter fetches the daily exchange-rate table, and the amounts you type are not part of that request. Receipt Scanner also uses ML Kit diagnostics; scanner setup and cloud photo providers may need a connection, while recognition stays on the device. Business Card Scanner works the same way and also downloads optional entity-recognition models from Google over Wi-Fi only; card contents are not part of that download. ID Photo Maker also uses ML Kit diagnostics; its face-detection and background models are bundled in the app, so photos are processed on the device without downloading a model. |
ACCESS_WIFI_STATE |
Dotori WiFi Scanner Dotori SSH Terminal Dotori LG TV Remote |
To read the state of the Wi-Fi you are already connected to. The ad SDK does not add this permission. |
FOREGROUND_SERVICE |
All ad-supported apps, plus YouTube Downloader | Used to keep a HID session or download running while you use another app. Ad-supported apps also merge this declaration through the advertising SDK’s WorkManager dependency; the declaration alone does not mean that a service runs continuously. |
FOREGROUND_SERVICE_CONNECTED_DEVICE |
Dotori Bluetooth Numpad | Declares the foreground service type used to maintain a HID session with a connected host. |
POST_NOTIFICATIONS |
Dotori Bluetooth Keyboard Dotori Bluetooth PPT Remote Dotori Bluetooth Mouse Dotori Bluetooth Numpad Dotori YouTube Downloader |
To show the notification that accompanies a running HID session or download. Only the apps listed declare it, and we send no promotional notifications. |
VIBRATE |
Dotori Bluetooth Keyboard Dotori LG TV Remote Dotori Roman Numerals Dotori Currency Converter Dotori Unit Converter |
To provide the short key-press vibration when you enable haptic feedback. This normal permission does not expose vibration or input history. |
com.droidactor.hid.session.permission.RELEASEsignature |
Dotori Bluetooth Keyboard Dotori Bluetooth PPT Remote Dotori Bluetooth Mouse Dotori Bluetooth Numpad |
To let Dotori HID apps signed with the same certificate query connection status and release or share a session. With a shared connection, requests to send keys you press are passed to the app that owns the connection. Android grants this permission only to apps with the same signature; it does not let them intercept input in other apps. |
READ_CALENDARWRITE_CALENDAR |
온드로이드 캘린더 | To show the events already on the device alongside the dates in the calendar view, and to save the lunar anniversaries you add into the device calendar you pick. What it reads is used for that display only, and neither what it reads nor what it writes is sent to any server of ours. |
AD_ID |
Every ad-supported app, including Dotori Receipt Scanner, Dotori Business Card Scanner and Dotori ID Photo Maker (not Dotori YouTube Downloader) | Ad delivery and measurement by the Google Mobile Ads SDK
(com.google.android.gms.permission.AD_ID). The SDK declares this itself through
manifest merging, so it is present in the installed app even where an app's own manifest does
not list it. You can reset or delete the advertising ID in Android Settings. |
ACCESS_ADSERVICES_AD_IDACCESS_ADSERVICES_ATTRIBUTIONACCESS_ADSERVICES_TOPICS |
All ad-supported apps (not YouTube Downloader) | Advertising-related declarations merged from Google Mobile Ads. They do not give the developer access to app content. |
WAKE_LOCK |
All ad-supported apps (not YouTube Downloader) | Declared by the advertising SDK’s background-work dependencies to support their scheduled work; no permission to read app content. |
<package>.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION |
Apps that use AndroidX | Signature-protected AndroidX permission for internal receiver isolation; the prefix is each app’s package name. |
None of these apps is directed at children under 13, and we do not knowingly collect information from them.
Because we hold no personal data of yours, there is nothing on our side to request access to, correct or delete. For local app data, uninstalling the app removes the app's own storage, and clearing the app's storage in Android Settings resets it without uninstalling. For the advertising data Google processes, use the ad settings on your device and the privacy options inside the app.
Calendar records. Lunar anniversaries you saved from 온드로이드 캘린더 into a calendar on your device are entries in that calendar, not in the app's own storage. They stay after the app is gone, so delete them in your calendar app if you no longer want them.
Saved photos. Photos that Dotori ID Photo Maker saves to your gallery
(Pictures/DotoriIdPhoto) are gallery files, not the app's own storage. They stay after
the app is gone and may be backed up by your gallery or cloud photo service, so delete them in the
gallery if you no longer want them.
Android backup. Dotori Unit Converter allows Android backup, which may include stored app data. Uninstalling does not necessarily remove backup copies; manage them through your device or backup-account settings. Receipt Scanner settings may also be backed up by Android, but receipt databases and images are excluded. Business Card Scanner works the same way: its settings may be backed up, but card databases and images are excluded. ID Photo Maker does not allow Android backup, and its working photos are excluded from device transfer as well. See the per-app notes below.
Enabling voice input requests microphone permission and uses an on-device speech recognizer. If on-device recognition is unavailable, the app does not fall back to server-based recognition. Audio is not sent to a server or the connected host; only recognized text that you confirm and send reaches the host through the existing Bluetooth keyboard path.
What you type and where you move the pointer goes over Bluetooth to the host you paired with, and nowhere else. Keystrokes are not logged, stored or transmitted to us — the app keeps only enough state to track which keys are currently held down, in memory. The address of a verified host is stored locally so it can reconnect, masked wherever it is displayed. No location permission is requested.
The app has no API that reads the clipboard. Text you paste into an input field with the system keyboard is treated exactly like typed text: the app converts it to HID usages and modifiers, and only a keyboard report reaches the host — the original string is not retained. Removing the Bluetooth bond also deletes that host's stored record.
If you export a diagnostic file, it is written only to a location you pick in
Android's document picker, and it is redacted as it is created: the host Bluetooth address is
replaced with redacted_at_creation, and the host display name, input strings and
clipboard content are excluded entirely. Ad slots are gated per screen, and the session
state can override that — home, history, settings, diagnostic results and the connected input
screen allow ads, while pairing, connecting, the guided test and recovery do not. The slot sits
above the control area, so no ad is drawn over the trackpad or the keys.
The app sends only five fixed key actions over Bluetooth HID and has no text entry at all. Otherwise it behaves exactly as Dotori Bluetooth Keyboard above: paired host address stored locally and masked, no location permission, nothing transmitted to us. One ad banner sits at the top of every screen, the presenter view included, and its height is reserved before an ad loads so the controls below never shift mid-talk. There are no full-screen ads.
Pointer movement, button presses and scroll gestures go only over Bluetooth HID to the host you paired with. They are not logged, retained or transmitted to us. The app stores the verified host address locally for reconnection and masks it wherever it is displayed. Removing the Bluetooth bond also removes that host record. No location permission is requested.
The app has no text or clipboard input. Ads are reserved outside the mouse control surface and are requested only after the consent state is resolved; no ad is placed over the trackpad, mouse buttons or scroll rails. Google may process advertising data as described in the general policy above.
Numeric keypad presses, including digits, symbols, Enter and Num Lock, are sent over Bluetooth HID to the host you select. There is no account or login, and input content and connection history are not sent to a developer server. The app has no sentence entry or clipboard-reading feature and requests no location permission.
For reconnection, the app stores verified host Bluetooth addresses, display names, last connection verification times and app settings on your device. Addresses are masked on screen. Host lock reports are used in memory during the connection for the Num Lock LED and key legends; a new connection does not reuse the previous state. If needed to learn the initial state, the app toggles Num Lock, waits for a response, then sends it again to attempt restoration. Key input, host information and lock state are not passed to the ad SDK.
When sharing a connection owned by another Dotori HID app with the same signature, key-send requests go to that app, which sends them to the host over Bluetooth. No developer server is involved in this process.
The app displays a banner outside the keypad controls and has no full-screen ads. Google AdMob data processing and first-party promo cards follow section 3 above. Ads are requested after the required consent process; available consent choices can be managed through the privacy options in Settings.
Clearing app storage in Android Settings or uninstalling the app deletes its stored host records and settings. When removal of a Bluetooth pairing is detected, the app also deletes that host record. The operating system's pairing can be removed separately in Android's Bluetooth settings.
Scanning happens entirely between your phone and the local network it is attached to. Results — IP addresses, hostnames, open ports, device kind — are shown on screen and kept on the device; they are not uploaded anywhere and are not given to the ad SDK. Industrial equipment is treated with extra care: PLC ports are listed as candidates only, and an identity query is a single read-only request sent to one address after you approve that row. The app never writes to such equipment.
Identification also uses what devices themselves broadcast — mDNS, SSDP, WSD and NetBIOS responses, plus the manufacturer inferred from a MAC/OUI prefix. Results depend on the network: VLANs, firewalls, client isolation and device configuration all change what answers. Two actions leave the app, and only when you choose them — CSV export copies the result text to your clipboard (what happens to it afterwards is yours to control), and opening a device's web UI hands the selected local URL to your default browser. Use the app only on networks and equipment you own or are authorised to manage.
A result row can be handed to Dotori SSH Terminal by deep link. That link carries the host and port only — never a username or password.
SSH usernames, passwords and trust-on-first-use host keys are stored in the app's own protected storage on your device. They are never transmitted to us or to any third party, and are not included in the deep link — the app sandbox means they cannot be read by another app, including Dotori WiFi Scanner. Terminal sessions connect directly from your phone to the host you specify; no traffic is proxied through us. Session output is not saved off the device.
While the app is open and on Wi-Fi, it automatically tries the selected TCP port
(22 by default) against hosts in the /24 subnet derived from your current local IPv4
address — that automatic sweep is the discovery feature itself. Credentials are not stored
permanently unless you choose to save them, and saved ones can be deleted per target from the
saved-connections list. The SSH server you connect to is neither chosen nor operated by us; that
server operator's own policies apply to whatever it does with your session. Use the app only on
networks you own or are authorised to administer.
The URL you paste is requested directly from your device; we run no download server and never see what you download. Files are written to the location you pick through Android's own file picker, which is why the app asks for no storage permission. A notification shows download progress. No history is sent anywhere — it stays on the device and goes away with the app.
Please respect the terms of service of the source site and the copyright of the material you download. Responsibility for how the app is used rests with the user.
The app talks to your LG webOS TV directly over your own Wi-Fi. Remote commands travel from the phone to the TV you picked and nowhere else — there is no developer server and no app login. To reconnect and confirm it is the same set, it stores the TV's address, its MAC address, the model name and certificate CN the set reports, the pairing key the TV issues and the TV certificate fingerprint on your phone; removing the app removes them. No location permission. Ads appear only as a banner pinned to the top of the screen and kept clear of the controls — there are no interstitial ads, so nothing full-screen interrupts you while you change the volume or channel.
LG and webOS are trademarks of LG Electronics. This app is unofficial and not affiliated with LG Electronics.
The app converts numbers entirely on your phone. There is no developer server and no app login, and nothing you type is stored or sent anywhere — close the app and the numbers are gone. The only things it keeps are the three settings you choose: theme, display language and screen orientation; removing the app removes them. No location permission. Ads appear only as a banner pinned to the top of the screen and kept clear of the keypad — there are no interstitial ads, so nothing full-screen interrupts you while you are typing.
The amounts you type never leave your phone. The app asks a rate server for the whole table of the day and does every conversion on the device, so neither the amount nor the currencies you picked are sent anywhere. There are two rate sources, both public read-only endpoints: the European Central Bank’s official daily reference rates, and — only when the ECB cannot be reached — ExchangeRate-API, which the app names on screen while it is in use. There is no developer server and no app login. What stays on the phone is your currency list, the pinned main currency, the last rate table with its date and source, and your theme, language and screen-orientation settings; removing the app removes them. No location permission. Ads appear only as a banner pinned to the top of the screen and kept clear of the keypad — there are no interstitial ads. The rates shown are reference rates for information; banks and exchange counters add their own margin, so what you actually pay will differ.
The app only does arithmetic on the numbers you type in — distance, fuel amount and price. Those numbers stay on your device. There is no account, no sign-in and no server of ours to send them to, and uninstalling the app removes them. The app asks for no location permission: it never learns where you are or where you drove.
A single banner ad is shown. Google serves it, and what the Google Mobile Ads SDK collects for that purpose is described in section 3 above.
The app only does the arithmetic an apartment transaction needs, on the numbers you type in. Those numbers stay on your device. There is no account, no sign-in and no server of ours to send them to, and uninstalling the app removes them. The app asks for no location permission, and it reads nothing about any actual property, listing or contract.
Banner ads are shown. Google serves them, and what the Google Mobile Ads SDK collects for that purpose is described in section 3 above.
The app works out solar and lunar dates on your device and shows them on a calendar. There is no account, no sign-in and no server of ours for anything to be sent to. The app asks for no location permission.
To show the events you already have alongside those dates, and to save the lunar
anniversaries you add, the app reads and writes the calendar on your device
(READ_CALENDAR, WRITE_CALENDAR). What it reads is only displayed;
what it writes goes into the calendar you pick. Neither is sent to any server of ours. If the
calendar you pick is one that syncs with an account — a Google account, for instance — then
the anniversaries you save there are handled under that provider's sync policy, the same as
any other entry in that calendar. Reminders you set are shown as device notifications.
The app's own settings are removed when you uninstall it, but anniversaries saved into a device calendar stay there — delete them in your calendar app if you no longer want them.
Banner ads are shown. Google serves them, and what the Google Mobile Ads SDK collects for that purpose is described in section 3 above.
Every conversion runs on your device, including on first use without a connection. The conversion feature opens no network connection and downloads no conversion tables. The app does not send the numbers you enter, conversion results or selected units to the developer or the advertising SDK. There is no developer conversion server, app account or login.
Preferences such as appearance, language, screen orientation and conversion settings are stored privately on the device. Android backup or device transfer may include stored app data, depending on your Android settings and device; Android or your backup provider manages those copies. Clearing app data or uninstalling removes local app data, but backup copies may need to be managed separately in your device or backup-account settings. Removing the app does not promise deletion of backup copies or advertising-service records.
The app directly declares only VIBRATE, for optional keypad feedback. It does
not request location, contacts, storage, camera or microphone access for conversion.
Advertising libraries supply network-related and advertising permissions through manifest
merging, including INTERNET; those connections belong to advertising and
consent services, not conversion.
Google Mobile Ads displays one banner. There are no interstitial ads. Advertising data is described in section 3. Google UMP manages the privacy choices applicable to your region, and ads are requested when UMP permits them after that flow. You can reopen available privacy options in Settings. Online ads and consent management can need a connection; conversion remains available offline. Declining personalised advertising does not mean that all SDK communication stops.
Dotori Receipt Scanner reads Korean and English receipt images on your device using OCR and extraction rules. The v1 release does not include generative AI. There is no app account or developer-operated receipt server. Receipt images and recognized text are not uploaded for recognition or passed to advertising requests.
Records and retained images stay in the app's private storage. Records can contain merchant, business registration number, transaction date and time, transaction type (purchase/refund), amount, currency, tax, payment details and your memo. Full OCR text is not stored. Structured card fields store only the last four digits, but a retained image may contain other printed information. Images are not automatically anonymized.
Images are retained by default. Turning retention off affects future receipts and does not remove earlier retained images. Images used temporarily for review without retention are removed when review finishes; abandoned temporary images are cleaned up on a subsequent start. Deleting a receipt removes its app record and retained image. This does not delete the original gallery image or copies already shared.
Receipt databases, images and temporary input files are excluded from cloud backup. Receipt databases and images are also configured to be excluded from Android device-to-device transfer, but manufacturer migration tools may behave differently. The app offers no cloud sync or restore. Confirmed record summaries are shared as CSV only when you choose to share them; the receiving app then handles its copy. Export files are temporarily retained for the receiving app and later cleaned up. CSV is not a backup format.
Document Scanner setup may download components through Google Play services, and a cloud photo provider may need a connection. These input paths and SDK communications are separate from local recognition. ML Kit collects technical diagnostics and usage information, including device/app information, installation identifiers, performance and feature events. Google documents HTTPS transmission and no third-party transfer of the diagnostic data listed in its ML Kit disclosure.
The app displays an AdMob banner and uses Google UMP for applicable privacy choices, as described in section 3. Receipt contents are not supplied to the advertising SDK. Local deletion does not delete Google's diagnostic or advertising records. The app requests no dangerous permissions; scanner and selected-photo input do not require the app to request camera or broad photo/storage access. Supporting libraries add the network, advertising and background-work permissions listed in section 4.
Dotori Business Card Scanner reads Korean and English business card images on your device using OCR, extraction rules and, when available, on-device entity and barcode recognition. The v1 release does not include generative AI. There is no app account or developer-operated server. Card images and recognized text are not uploaded for recognition or passed to advertising requests.
A business card holds another person's personal information. Records and retained images stay in the app's private storage. Records can contain name, other spellings of the name, company, department, title, phone numbers, email addresses, websites, address, link candidates from a QR code and your memo. A card is recorded only when you save or export it. Text the app could not place in a field, and second candidates for company, department, title or address, are pre-filled into the memo; they are saved with the card, and exported in its note, unless you remove them. Full OCR text is not stored. A saved record keeps the field values, phone labels, extensions and normalized values, and which fields you edited. A retained image shows everything printed on the card and is not automatically anonymized.
Images are retained by default. Turning retention off affects future cards and does not remove earlier retained images. Deleting a card removes its app record and retained image. This does not delete the original gallery image, contacts you have already saved, or vCard files you have already shared.
Card databases, images and temporary input files are excluded from cloud backup. Card databases and images are also configured to be excluded from Android device-to-device transfer, but manufacturer migration tools may behave differently. The app offers no cloud sync or restore. A card is passed to your contacts app only when you choose "Add to Contacts", which saves the card first: the contacts app opens with the details filled in, and you finish saving there. The app does not request contacts permission and does not read your existing contacts. A card is shared as a vCard file only when you choose "Share vCard", which also saves it first; the receiving app then handles its copy.
Document Scanner setup may download components through Google Play services, and a cloud photo provider may need a connection. Optional entity-recognition models are downloaded from Google over Wi-Fi only; the download does not include card contents. A link found in a QR code is shown as a candidate and is not opened automatically. Only when you tap "Open link", and only for an http or https address, the app hands the link to Android to open, usually in a browser; the link is then handled under that app's own policy. ML Kit collects technical diagnostics and usage information, including device/app information, installation identifiers, performance and feature events, as described in Google's ML Kit disclosure.
The app displays an AdMob banner and uses Google UMP for applicable privacy choices, as described in section 3. Card contents are not supplied to the advertising SDK. Local deletion does not delete Google's diagnostic or advertising records. The app requests no dangerous permissions. Supporting libraries add the network, advertising and background-work permissions listed in section 4.
Dotori ID Photo Maker crops a portrait you take or choose to Korean passport, driver's license, resident registration card or general ID photo sizes. Face detection and, for general photos only, background segmentation run on your device with ML Kit models bundled in the app. The app does not include generative AI. There is no app account or developer-operated server. Photos are not uploaded for processing or passed to advertising requests.
A photo you take or choose is copied to temporary app storage, decoded, and the temporary file is removed. The photo being edited stays in memory until you finish, start over or close the app, and working photos are excluded from cloud backup and device transfer. If you process someone else's photo, make sure you have their permission.
Saving writes a new JPEG to your gallery (Pictures/DotoriIdPhoto) and never overwrites the original. Saved files do not copy the original photo's metadata, such as GPS location. Your gallery or cloud photo service may back up saved photos under its own settings; delete them in the gallery when you no longer need them. A saved photo is passed to another app only when you choose to share it.
Camera access is requested only when you choose to take a photo. Choosing a photo uses the system photo picker (or the system file picker on older devices) and needs no broad photo or storage access. ML Kit collects technical diagnostics and usage information, including device/app information and installation identifiers, as described in Google's ML Kit disclosure.
The app displays an AdMob banner on the home screen and uses Google UMP for applicable privacy choices, as described in section 3. Photos are not supplied to the advertising SDK. Clearing app data or uninstalling does not delete photos saved to the gallery or Google's diagnostic or advertising records. Supporting libraries add the network, advertising and background-work permissions listed in section 4. You can reopen the advertising privacy options from the app's Photo guide screen.
The app converts the numbers you type from one unit to another. Those numbers stay on your device. There is no account, no sign-in and no server of ours to send them to, and uninstalling the app removes them. The app asks for no location permission.
Banner ads are shown. Google serves them, and what the Google Mobile Ads SDK collects for that purpose is described in section 3 above.
If this policy changes, the updated version is posted on this page with a new date above. Questions about privacy go to droidactor@gmail.com.