Team 10
USD 49
10 seats
For organisations.
For teams
One licence key for the whole team, the Accessibility permission pre-approved by your MDM, and the same exact undo on every Mac.
Team 10
USD 49
10 seats
For organisations.
Team 25
USD 99
25 seats
For organisations.
Available with the first release. A seat is one user account on a Mac. Prices in USD, one payment, every 1.x update included. 14-day refunds. Larger counts: write to us.
/Applications/Contralto.app/Contents/MacOS/Contralto --license activate CONTRALTO-… "Finance MacBook 12" (the label is optional and defaults to the computer name). In Jamf, a policy on the Login trigger with the execution frequency Once per user per computer; in Intune, a shell script set to run as the signed-in user and assigned to a user group, which Intune applies to every user who logs in to the Mac. A policy that runs as root, as Jamf's do, puts launchctl asuser "$uid" sudo -u "$user" in front; run as root the command refuses, because the licence belongs to the person's account. In an account that already holds a seat on the key, the command only confirms it. --license status prints the account's state; --license deactivate frees its seat.Contralto needs one permission, Accessibility, and macOS lets an MDM grant it with a Privacy Preferences Policy Control payload. The profile is a signed statement about our code: it names the bundle id app.contralto.mac and the Developer ID certificate the app is signed with, so it matches every release we ship and nothing else.
The profile is published with the first signed release: it names the certificate the app is signed with, which does not exist yet.
What it contains, and what it does not:
app.contralto.mac. The keyboard shortcuts, the window switcher, snapping and the clipboard panel work from the first launch; Setup shows step 1 as done.AllowStandardUserToSetSystemService, so a standard user can switch it on for the Alt+Tab previews without an administrator. Without it the switcher shows app icons, which is fine for most teams.com.apple.servicemanagement rule for our team id). The rule approves the helper but does not install it; the app does that, once per Mac, from the script that deploys it, as the logged-in user: /Applications/Contralto.app/Contents/MacOS/Contralto --helper install prints Installed and approved. From then on Login Items shows no prompt, and in administrator accounts the firewall and Touch-ID-for-sudo settings ask for no password. The helper acts for administrators only: in a standard account, and on any Mac until it is installed, those two settings ask for an administrator's name and password. Where people work in standard accounts, turn the firewall on with your MDM's own Firewall payload (com.apple.security.firewall) instead; Touch ID for sudo matters only to accounts that may use sudo, by default the administrators.PPPC payloads are honoured only on Macs enrolled in MDM (user-approved enrollment or Automated Device Enrollment) and deployed at device scope. They do not install the app.
.mobileconfig. Jamf shows the Privacy Preferences Policy Control and Managed Login Items payloads it contains; leave them as they are..dmg's app into a .pkg with Composer or Jamf Admin, or use a script that copies it into /Applications) and, in the same policy, a script that installs the helper as the logged-in user (the helper command above).--helper status prints Installed and approved..mobileconfig; deployment channel Device channel.app.contralto.mac and the version from the download page, then a shell script (Devices → macOS → Shell scripts) that runs the helper install command as the signed-in user.No analytics, no account. The licence key is confirmed with Polar every 7 days; updates are checked against our feed once a day if allowed, and downloaded from this site when the person accepts one, or in the background to install at quit if they chose automatic updates in the updater's window; app installs from the Apps screen download from the makers' servers. The privacy policy lists every request and what it carries.
Every behaviour has its own switch and the choices live in the app's preferences domain (app.contralto.mac), so a managed preference or a script can preset them; write to us for the key list. They are starting values, not a lock: the person can still change any switch in the app, and a value a profile forces takes effect again only the next time the app opens. Terminals and remote desktops keep the real Ctrl by default, and the exclusion list takes any bundle id.
Restore every system setting puts the Mac back exactly, Deactivate this Mac (or --license deactivate in the offboarding script, as that user) frees the account's seat and removes its key (on a shared Mac, in every account that activated the key, or free those seats in the customer portal), Settings → Admin helper → Remove (or --helper remove in the offboarding script, as the logged-in user) unregisters the helper, and dragging the app to the Trash removes it. After Restore and Remove, nothing stays at the system level; without Restore, the settings it changed stay as they are, including screenshots going to the clipboard instead of a file.