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.
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.
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.
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: 19 August 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. We do not collect, store or transmit your personal information — there is no server on our side to send it to. Everything an app records stays on your device and is removed when you uninstall it. The one third party involved is Google, which serves the ads.
Nothing. No app on this page asks you to register, sign in, or provide a name, email address or phone number. We operate no analytics, no crash reporting service and no server that receives app data.
These apps work with technical identifiers by nature — a scan finds IP addresses, an HID remote pairs with a Bluetooth host. Those values are used on the device to make the feature work, are never sent off the device, and are never passed to the advertising SDK:
We do not store device serial numbers or device IDs anywhere.
These apps are free, and the ones 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 not initialised until your consent has been resolved through Google's User Messaging Platform — the consent form comes before any ad request. 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 six of the apps (Bluetooth Keyboard, PPT Remote, Bluetooth Mouse, WiFi Scanner,
SSH Terminal and LG TV Remote), 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 |
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. |
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. |
INTERNETACCESS_NETWORK_STATE |
All (network apps directly; every other ad-supported app through the ad SDK) | 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, and the calculator, converter and calendar apps use the internet for nothing but fetching ads. |
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, so the apps that only carry ads do not have it. |
FOREGROUND_SERVICE |
Dotori Bluetooth Keyboard Dotori Bluetooth PPT Remote Dotori Bluetooth Mouse Dotori YouTube Downloader |
So a HID session or a download keeps running while you use another app. |
POST_NOTIFICATIONS |
Dotori Bluetooth Keyboard Dotori Bluetooth PPT Remote Dotori Bluetooth Mouse Dotori YouTube Downloader 온드로이드 캘린더 |
To show the notification that accompanies a running HID session or download, and to raise the reminders you set on a calendar entry. We send no promotional notifications. |
VIBRATE |
Dotori Bluetooth Keyboard Dotori LG TV Remote |
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 |
To let our HID companion apps ask each other to release an active Bluetooth HID session before another one starts. Android grants it only to apps signed with the same certificate; it does not provide access to input content. |
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 (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. |
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. Everything the app stored lives on your device: uninstalling the app removes all of it, 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.
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 on session state rather than on which
screen you are viewing — idle and connected allow ads, while connecting, recovering and isolated
states do not — and no ad is placed on the trackpad or keyboard surfaces.
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. Ads are shown on the Home, host picker, pairing, settings and about screens only — never on the presenter screen or while connecting, so a running presentation is never interrupted.
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.
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 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. 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 device calendar you pick. Neither leaves your device. Reminders
you set are shown as device notifications (POST_NOTIFICATIONS). The app's own
settings are removed when you uninstall it, but anniversaries saved into the device
calendar stay there — delete them in your calendar app if you no longer want 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.
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.