Privacy Policy

Last updated: October 11, 2026

This policy covers the Desmaptic app for iPhone and iPad, Desmaptic Agent for Mac, and the website desmaptic.com.

Who is responsible

Desmaptic is made by Mikhail Zhukov, an individual software developer based in Cyprus (“I”, “me”). For the EU General Data Protection Regulation (GDPR), I am the controller of the personal data described under “What I receive”. You can reach me at support@desmaptic.com.

The short version

What I receive

Nothing else reaches me.

Desmaptic for iPhone and iPad

Your buttons. Your profiles, pages and buttons — including the scripts, links, text and pictures in them — are stored on your device. If you are signed in to iCloud, they are also stored in the private database of Desmaptic’s iCloud container in your iCloud account, so that your iPhone and iPad stay in sync. Each saved item also records when it was last changed and the model and iOS version of the device that changed it. iCloud stores these items in encrypted fields; they are end-to-end encrypted only if you turned on Advanced Data Protection for iCloud — otherwise Apple holds the keys. iCloud is provided by Apple under Apple’s privacy policy (apple.com/legal/privacy). I can’t access your iCloud data. Without iCloud, your buttons stay on the device and are included in its backups. The app also keeps, on the device, a short history of earlier versions of your buttons for recovery and, after you sign out of iCloud, changes that hadn’t been uploaded yet, for 30 days. Don’t put passwords or tokens in scripts: keep them on the Mac.

Your Mac. The app finds Desmaptic Agent on your local network (Bonjour) and connects to it directly. The connection is encrypted, and a new Mac is paired with a six-digit code shown on that Mac. Over this connection:

The app keeps the paired Macs (their names, the macOS account names and security keys) in the Keychain of this device only, and keeps the list of the Mac’s apps and Shortcuts and the widget catalog so that it has them before it connects. Use Forget on a paired Mac to remove it.

The app doesn’t use your location, contacts, photos, camera, microphone or Bluetooth.

Website icons. A button that opens a website shows that site’s icon unless you choose another one. The app downloads the icon directly from the website (/apple-touch-icon.png or /favicon.ico, or the secure address the site redirects to), without cookies, and keeps it on the device — also for such buttons that came from your other devices. The website sees your IP address and that its icon was requested. This never happens for local network addresses. Choose another icon if you don’t want this.

App lock. If you turn on the optional app lock, iOS checks your Face ID, Touch ID or passcode. The app only learns whether the check succeeded.

Notifications. Notifications from your scripts come from your Mac over the local connection and are shown by iOS on your device, as are the app’s own notices (for example, about syncing or the connection). Apple’s push service also wakes the app silently when your buttons change on another device.

Purchases. Subscriptions and the lifetime purchase are sold and processed by Apple. The app checks on your device, through Apple’s StoreKit, whether you have Pro. I don’t receive your payment details or your Apple ID.

Ratings. The app counts successful button presses on the device to choose a good moment to show Apple’s rating prompt. The count doesn’t leave the device.

Web pages. Help pages, this policy and the terms open in an in-app browser and come from this website (see “This website”).

Desmaptic Agent for Mac

Running buttons. The agent runs on your Mac and does what your buttons ask: opens apps and links, presses keys, runs Shortcuts, AppleScript and shell scripts. Scripts run with your macOS user account’s permissions and can do anything that account can, including connecting to the internet. Scripts come from you, from ready-made widgets, or from an AI assistant once you accept its changes; I never receive them or what they produce. Ready-made widgets read only what they show or need — for example, the Calendar widget reads your next meetings, and Read Later takes the title and address of your browser’s current tab to save them in Notes or Reminders; this stays on your Mac and your devices. Scripts can keep files in a private folder on your Mac (~/Library/Application Support/Desmaptic/ScriptStorage, available to them as $DESMAPTIC_STORAGE).

Local network. The agent listens on port 9847 of your local network and announces itself there (Bonjour) under your Mac’s name, with a short fingerprint of its security key. Only devices you paired can use it: a new device has to be approved on the Mac, and the code the Mac then shows has to be entered on that device. The agent keeps its pairing key (tied to your Mac’s hardware ID) and the list of paired devices (their names, models, pairing dates and security keys) in your Mac’s login keychain.

Local API. Scripts and AI assistant tools talk to the agent on your Mac only: through 127.0.0.1:9848 (and [::1]:9848) with a token, and through a private socket in your user folder. The token is stored in ~/.desmaptic-mcp-token (readable only by your user account) and changes at least every time the agent starts. Neither the addresses nor the socket can be reached from other computers. Other programs running under your macOS account can use the socket to read your buttons and propose changes; changes still need your Accept on your iPhone or iPad.

macOS permissions. During setup, the agent explains and offers three permissions; you decide whether to allow them:

macOS asks for the others only when a feature needs them:

Scripts run as part of the agent, so a script can make macOS ask for another permission on the agent’s behalf (for example Input Monitoring for Clean Keyboard, or Screen Recording for a script of your own). You can turn any permission off in System Settings › Privacy & Security.

Other built-in actions. Clean Keyboard intercepts key presses for up to a minute to block them; they are thrown away, not recorded. Focus Window reads which app owns each window and where it is, not window titles or contents. Eyedropper uses the macOS color picker and copies the color you pick.

The agent itself doesn’t use your camera, microphone, location, contacts or photos, and doesn’t record your screen.

Updates. About once a day, and when you choose Check for Updates, the agent downloads its update feed from GitHub (github.com). GitHub sees your IP address and the agent’s version. GitHub may set cookies; the agent doesn’t keep them. An update itself is downloaded from GitHub when you choose to install it (or automatically, if you allowed that in the update window). The agent sends no other information about your Mac.

AI assistants (optional)

You can connect an AI assistant — Claude (by Anthropic), ChatGPT or Codex (by OpenAI), or any other app that supports the Model Context Protocol (MCP). Nothing is shared with an AI assistant until you connect one on your Mac. When you click Connect, the agent adds itself to that app’s settings (for other apps, you paste the settings yourself); on request it also installs a skill that teaches the assistant to make widgets. The connection between the assistant app and the agent runs on your Mac.

Through Desmaptic, a connected assistant can read your profiles, pages and buttons (including their scripts), the apps on your Mac, which of them are open and which one is in front, the names of your Shortcuts, the status, reported errors and recent error output of your scripts (with the agent’s tokens and other bearer credentials removed), what your live buttons show, which page is on screen, and whether your connected device shows the iPhone grid or the large-screen grid, with the app’s version. Changes to your buttons happen only after you accept them on your iPhone or iPad. If you turn on “Allow AI to Run Commands” (off by default), the assistant can also propose a command; it runs only after you approve it on your iPhone or iPad, and its output goes back to the assistant.

Whatever the assistant reads is sent to its provider (Anthropic, OpenAI or the maker of the app you connected), under that provider’s terms and privacy policy. I don’t receive it. Desmaptic works fully without an assistant.

Ready-made widgets that use the internet

Some widgets in the Gallery contact internet services from your Mac:

These services see your IP address — and Google Translate also the copied text. Links in buttons, such as a meeting link in the Calendar widget, open in your browser or app as usual.

Logs

The apps write technical events to Apple’s system log on your device: connection status, the names and local network addresses of connected devices, which app is in front or was opened, file paths and error codes. They don’t write the text of your buttons or notifications or what your scripts print (at most the interpreter named on a script’s first line). Anyone who can read your device’s logs can read these. They stay on your device and are deleted by the system over time; they leave it only if you share a diagnostic report with Apple yourself.

This website

desmaptic.com is hosted on GitHub Pages. GitHub logs visitors’ IP addresses for security. The site reaches you through Cloudflare, which also counts visits for me with Cloudflare Web Analytics: it sees your IP address, the page you open and, from the IP address, your country, and shows me only totals — visits, pages and countries. It sets no cookies and doesn’t follow you to other sites. The site’s earlier address, desktap.app, goes through Cloudflare too: it forwards you to the same page on desmaptic.com. The site itself sets no cookies. The agent’s download link leads to GitHub, which may set its own cookies.

If you email me

Emails to support@desmaptic.com arrive in my iCloud Mail account (Apple). I use them only to answer you and to fix problems you report. I keep the correspondence for up to 24 months after our last exchange and then delete it; you can ask me to delete it sooner. You don’t have to email me, but I need your email address to reply.

Legal bases

You can object at any time to processing based on legitimate interests (Art. 21): write to support@desmaptic.com. To stop the agent’s automatic update checks, run defaults write com.desmaptic.agent SUEnableAutomaticChecks -bool false in Terminal and restart the agent.

I make no automated decisions about you.

Sharing

I don’t sell, rent or share personal data. The providers that help me run Desmaptic — Apple (iCloud Mail, App Store), GitHub (website, downloads and updates) and Cloudflare (delivering the website, counting its visits and forwarding from its earlier address) — process only what is described here, under their own privacy commitments, which protect it at least as well as this policy does. What you send to an AI assistant, a website or another service through your buttons, you share with that service yourself, under its terms.

International transfers

Some of these providers process data outside the European Economic Area:

Keeping and deleting your data

Your rights

Under the GDPR you can ask me for access to your personal data, and to correct, delete, restrict or transfer it, and object to its processing. Since I hold only emails, requests usually concern those; your data on your devices and in iCloud is in your own hands. Write to support@desmaptic.com — I will answer within one month.

You can also complain to a data protection authority: mine is the Office of the Commissioner for Personal Data Protection of the Republic of Cyprus (dataprotection.gov.cy, commissioner@dataprotection.gov.cy), or the authority where you live or work.

Children

Desmaptic is not directed at children under 13, and the apps collect no personal data from anyone.

Changes

When this policy changes, I update the date at the top of this page. If a change affects how your data is handled, I will also mention it in the release notes of the app or the agent.

Contact

support@desmaptic.com