Privacy Policy
Effective October 19, 2026 · Applies to Happy Type for macOS
In short: Happy Type does not collect, store or upload any personal data. On your Mac it only reads which key was pressed to decide where the animation appears. It never reads what you type.
1. Who we are
Happy Type (“the app”) is developed and published on the Mac App Store by independent developer LIYANG XU (“we”). Questions about this policy: lyxu90@gmail.com.
2. Input Monitoring and keyboard data
To show animations while you type, the app needs macOS Input Monitoring permission. We use it strictly as follows:
- Key codes only: through a listen-only system event tap, the app reads only the virtual key code (which physical key was pressed) and converts it into a horizontal screen position for drawing.
- No characters or text: the app never obtains the character a key produces and never reads or reconstructs anything you type, including passwords.
- Nothing recorded: key codes are discarded as soon as the animation is drawn. They are never written to disk and no keystroke history is kept.
- Nothing modified: the tap is listen-only; the app never changes, blocks or simulates your input.
You can revoke the permission at any time in System Settings → Privacy & Security → Input Monitoring.
3. Data we do not collect
The app does not collect contact information, location, contacts, photos, files, browsing or search history, device or advertising identifiers, usage analytics, crash logs or diagnostics. It contains no third-party analytics, advertising, tracking or crash-reporting SDKs and does not track you across apps or websites.
4. Network access
The Mac App Store edition runs inside the Apple App Sandbox without any network entitlement and never connects to a server.
The direct-download editions (macOS / Windows) connect only to happytype.app, and only in two cases:
- Buying Pro: a machine code (a one-way hash of a device identifier that cannot be reversed) is sent to create and bind your license. Payment is handled by WeChat Pay; we never receive your WeChat account or payment credentials, only whether an order was paid.
- Updating themes: a public colour-theme list is downloaded. The request carries no personal information.
Neither edition ever sends keystrokes, key positions, typing statistics or usage data.
5. Data stored on your Mac
Your preferences (style, theme, position, height, glow, keyboard alignment, sounds, etc.) are saved locally with macOS UserDefaults so they persist between launches.
Typing stats: the app keeps a local, per-day keystroke count (a single number) to show today's count, your streak and a 7-day trend. It contains no key content, key positions or timing details, is kept for at most 30 days and is never uploaded. You can hide the menu bar count in Settings.
Share posters are rendered locally. They are saved only to a location you choose in the save dialog, or copied to your clipboard when you ask.
None of this data leaves your device. Deleting the app removes it.
6. Buying Pro
Mac App Store edition: The optional purchase “Happy Type Pro” is handled entirely by Apple. We never receive your Apple ID, name or payment details; the app only checks locally via StoreKit whether you own the purchase. Apple's handling is governed by the Apple Privacy Policy.
Direct-download editions (macOS / Windows): “Happy Type Pro” is purchased with WeChat Pay (one-time). Payment is handled by WeChat Pay; we never receive your WeChat account, nickname or payment credentials, only whether the order was paid. After payment our server issues a license bound to your device’s machine code, which is stored on your device and verified locally and offline afterwards. WeChat’s handling is governed by its own payment terms and privacy policy.
7. Children
The app does not collect personal information from anyone, including children.
8. Your rights
Because we hold no personal data about you, there is nothing to access, correct, export or delete. If you email us, we use your address only to reply.
9. Changes
If this policy changes we will update this page and its effective date, and mention material changes in the app's release notes.
10. Contact
Email: lyxu90@gmail.com