Keymin

Keymin Privacy Policy

Effective and last updated: October 7, 2026

This policy explains what data Keymin handles, where it goes, and how you can control it.

Keymin edits one text file: the configuration that the skhd hotkey daemon reads. It has no advertising, analytics, tracking SDKs, account system, or developer-operated service, and it makes no network connections of its own.

Data on your Mac

Keymin stores a macOS security-scoped bookmark for the configuration file you choose. When that path is a symbolic link and you grant access to the file it points to, Keymin stores a second bookmark for that file. The bookmarks live in Keymin's app container and let the app open the same file on the next launch. Keymin reads and writes no other file's contents, except that it reads the name or bundle identifier of an app you choose, as described below.

Before you choose a file, the first screen tells you whether skhd is installed and running. To find out, Keymin checks whether the skhd program exists at the usual install locations or in the folders on the app's PATH, and whether an skhd launch agent exists in your LaunchAgents folder. It does not open those files. It also reads the names of the running processes from macOS. The result is shown on that screen only and is not stored.

The contents of the configuration stay in memory while you edit them. Keymin writes them back only to that file, and only when you choose Save. Unsaved edits are lost if you quit without saving.

When you pick an app for a binding or the blacklist, Keymin reads the names, bundle identifiers, and icons of the running apps from macOS to offer them in a list. If you choose an app in an Open panel instead, Keymin reads only that app's name or bundle identifier. To show which app an Open an app binding opens, Keymin asks macOS for that app's name and icon. None of this is stored, except the name or identifier you pick, which becomes part of your configuration. When you use Copy as Text, or copy a command from the first screen, the text is placed on the macOS general pasteboard.

The app does not run the commands in your configuration, does not monitor your keystrokes outside its own window, and does not start, stop, or signal skhd itself.

If you turn on After Saving → Run a shortcut after every save, Keymin asks the Shortcuts app to run the shortcut you named, passing the path of the saved file as the shortcut's input. Run Now on the same page runs it right away with the current file's path. The shortcut runs under Shortcuts' own permissions, outside Keymin's sandbox, and Keymin does not learn what it did. Nothing runs until you turn the option on and name a shortcut. The option and the name are stored in the app container.

Keymin also stores the trial state in its app container. The Mac App Store build reads Apple's signed original acquisition date to determine the 30-day Pro trial. Source and test builds store a local trial start date instead. Trial information is not sent to the developer.

After the 30-day Pro trial, without a purchase, Keymin shows and edits only the first five bindings. The others are hidden but kept in your configuration file, and they are written back unchanged when you save. They become visible again once you have Pro access. The limit does not move, delete, or upload them.

Apple processes Keymin Pro purchases and does not share payment details with Keymin's developer. The app reads your Apple purchase status to unlock Pro, including purchases shared through Family Sharing.

Network requests

Keymin itself makes no network requests and has no network entitlement. StoreKit, part of macOS, communicates with Apple for product information, purchases, and purchase status. Links in the app, such as those on the first screen, in the About panel, in the Pro panel, and in this policy, open in your browser only when you click them.

Retention and deletion

The file bookmarks remain in the app container until you pick a different file, choose Keymin → Forget File Access…, or remove the container. Forgetting access does not change or delete the configuration file.

The local trial start date, when used, and other preferences remain in the app container when you forget file access. Removing Keymin and its app container deletes all app-managed data. Your skhd configuration remains where it is. Apple controls the purchase records associated with your Apple Account.

Your choices

You choose which file Keymin opens, when it saves, and whether it keeps access between launches. During the trial or with Pro, you can also review and edit the exact text on the Source page before saving.

Changes and contact

This policy and its date will be updated when material changes occur. For privacy questions or requests, visit Keymin support.