Skip to main content
Migrate Already selling? Move your customers to Keylight without re-issuing a single key.
Keylight
Blog
macos device-activations license-keys

How Device Activation Limits Work for Indie Mac Apps

3 min read Nicolas Demanez — Founder

Device activation limits are how an indie Mac app stops one license key from becoming a public password. The goal is not to punish honest customers. The goal is to let a real customer use their laptop and desktop while preventing unlimited sharing. This is one part of licensing a macOS app outside the App Store.

Activation limits are enforced at activation time

Activation is the moment a Mac claims a seat on a license. The app sends the license key and a stable device fingerprint to the server. The server checks whether the license is valid and whether another device can be added.

If the key allows three devices and only two are active, the server records the new Mac and returns a signed license lease. If the key is already at its limit, the server rejects the activation and the app can explain what happened.

This is different from checking the device limit on every launch. Everyday launch should be fast and offline-friendly. The app reads the signed local lease, verifies it, and opens. The server remains the source of truth for activation count, but the launch path does not need a network call every time.

Pick a limit that matches real customer behavior

For many indie Mac apps, one device is too strict. Customers often own a laptop and a desktop. Some also keep an older Mac during a transition.

Two or three active Macs per license is a practical default. It protects against casual sharing while respecting how people actually work.

The right limit depends on the product:

  • a personal productivity utility might allow two or three Macs;
  • a pro tool with team usage might sell higher activation limits;
  • a high-value niche app might make extra activations part of a higher tier;
  • a trial might allow one device to reduce abuse.

The important thing is to make the policy clear before purchase and recoverable through support.

Device fingerprints should be stable and boring

A device fingerprint should identify the same Mac across ordinary app launches, updates, and minor OS changes. It should not be invasive, and it should not depend on data that changes constantly.

The fingerprint is not a marketing profile. It is just a stable equality check: “is this the same Mac that already activated?”

If the fingerprint changes too easily, honest customers burn activations. If it is too broad or personal, the system becomes creepy. A good licensing system keeps the fingerprint narrow and purpose-built.

Deactivation matters as much as activation

Customers replace hardware, wipe disks, sell old machines, and migrate to new Macs. If your product allows two devices but never lets customers remove old ones, support tickets pile up.

A good customer experience includes a way to deactivate old Macs. That can be a self-service portal, a support dashboard, or both. The policy can still prevent abuse: limit how often customers self-deactivate, flag suspicious churn, or require support for edge cases.

Keylight’s device activations feature is built around this balance: enforce limits, show activated devices, and let old devices be removed without making the app phone home on every launch.

Device limits and offline validation work together

Device activation limits are server-side. Offline validation is app-side. They should cooperate, not fight.

The usual pattern is:

  1. The customer activates online once.
  2. The server records the Mac against the license.
  3. The server returns a signed lease for that device.
  4. The app stores the lease locally.
  5. The app validates the lease offline on launch.
  6. The app refreshes periodically to pick up revocations or device changes.

This gives you enforcement without making every paying customer depend on your server being reachable. The offline license validation guide explains that tradeoff in more detail.

Where Keylight fits

Keylight tracks devices per license, enforces activation limits, supports deactivation, and keeps the app launch path offline-ready. It connects to the rest of the licensing flow: license keys, Stripe checkout, refund revocation, and customer portals.

If you are designing your first direct-sales setup, read selling a Mac app outside the App Store and preventing license key sharing next.

Frequently asked

What is a good device activation limit for an indie Mac app?+

Two or three active Macs per license is a common default. It covers a laptop and desktop without turning one purchased key into unlimited sharing.

Should device limits be checked on every app launch?+

No. Device limits are usually enforced during activation. After that, the app can validate a signed local lease offline and refresh periodically.

Can customers deactivate old Macs?+

They should be able to. A good licensing system lets customers or support staff remove old devices when they replace hardware.

Ready to ship?

Create your account and start licensing your apps in under a minute. Free forever tier included.

Start Free