Skip to content
EasyMousefor Mac
KO
Appearance
Download free

Policies

Privacy and data collection

This page lists what the EasyMouse app and easymouse.app send, store and never collect. The app’s first-launch consent screen links here.

Policy version 1 · November 5, 2026

Overview

EasyMouse is a Mac app made and distributed free of charge by Wigma. This document applies to the app (0.8.0 and later) and to the website easymouse.app.

Everything the app manages, including mouse settings, automatic rules and backup files, stays on your Mac. No setting is ever sent to a server.

What is never collected

Neither the app nor the site sends or stores any of the following.

  • Your IP address in its original form (processed only as the hash described under "rate limits" below)
  • Device fingerprints, hardware identifiers or serial numbers
  • Your Mac’s host name or user name
  • File paths, document contents, typed text or mouse movements
  • Your mouse settings and automatic rules
  • Email addresses (unless you type one into a bug report for a reply, or sign up for the newsletter yourself)

IP addresses are used only for rate limiting and the daily download count, and even then only as an HMAC hash made with a server secret; the original is never stored anywhere.

A consent screen appears the first time the app runs and stays until you choose. The two items can be switched on and off separately, and below them a separate optional newsletter sign-up asks for an email address.

  • Anonymous usage statistics: sends the batched information listed under "Anonymous usage statistics" below.
  • Bug-report diagnostics: decides whether the install identifier is attached when you send a bug report yourself.
  • Receive Wigma news (advertising): you're signed up only when you type an email address and tick it separately. "Accept all" never includes it. Details are in the newsletter section.

Whether you choose "Accept all", "Save selection" or "Decline", every feature keeps working. Your choice (the decision, the two switches, policy version 1 and the time) is stored only in a consent.json file on your Mac and is excluded from settings export, import and reset. You can change it in the app’s settings at any time.

Anonymous usage statistics

Only while statistics consent is on, the app sends the information below in one batch at most every six hours (or when it quits). A batch holds up to 200 events; unsent events are kept up to 200, dropping the oldest first.

Install identifier

A random 32-character hexadecimal value (install_id) created when you first agree to statistics. It is not linked to your Mac’s hardware, your Apple account or you. Withdrawing consent or pressing "Reset statistics ID" deletes it; a new one is created the next time you agree.

Sent with every batch

  • schema (format number), batch_id (random per batch), sent_at (sending time rounded to the minute)
  • app_version, app_build: the app version and build number
  • os_version: macOS major.minor only (for example 15.1)
  • arch: arm64 or x86_64
  • locale: one of ko, en, other
  • model_family: one of MacBookPro, MacBookAir, Macmini, iMac, MacStudio, MacPro, other (not the exact model)
  • consent_version: the policy version you agreed to

Event catalog

Any event or field not in this table is rejected and discarded by the server. Every value must come from a fixed list or format.

EventFieldsMeaning
app.active-Once a day: the app was running
app.launchkind: normal | menubar | login | updateHow the app was started
app.updatedfrom: previous version numberWhich version was updated from
feature.usedfeature: feature name from a fixed listWhich feature was used (pointer speed, acceleration, scroll reverse, button remap, gesture, auto scroll, MouseLock, precision clutch, DPI, auto switch, recommendations, calibration, diagnostics, advanced rules, backup import and similar)
device.seenkind: mouse | trackpad | other · transport: usb | bluetooth | builtin | unknown · vendor: apple | logitech | razer | microsoft | steelseries | corsair | elecom | otherOnce per device class per day: the kind, connection type and vendor family of the devices in use. No model names or serial numbers.
permission.stateaccessibility: granted | denied · input_monitoring: granted | deniedOnce a day: whether the two macOS permissions are granted
error.reportedkind · where · code (short identifiers)The kind, location and code of an internal app error. No message text or file paths.
perf.timingop: launch | apply_profile | device_scan · p50_ms · p95_ms · countTiming statistics for launch, profile apply and device scan
bug.reportedcategory: bug-report categoryThat a bug report was sent, and its category
notice.actionnotice: notice number · action: shown | dismissed | suppressed | openedWhether an in-app notice was shown, dismissed, suppressed or opened

How it is stored on the server

  • Per install: first and last contact time, app version and build, macOS major.minor, arch, locale, model_family and consent version for each install_id
  • Daily activity: one row per install_id per UTC day
  • Daily aggregates: counts per event name and value, installs per version, OS, arch, model and language, and new installs. Only numbers without identifiers remain.
  • Error groups: counts per fingerprint hashed from kind, where and code, with first and last occurrence and last version

Per-install records and daily activity rows are kept for up to 180 days, and the identifier-free daily aggregates and error groups for up to 730 days, then deleted automatically.

Duplicate batches are ignored. Statistics are used only to learn which features are used and where errors occur; they are not used for advertising identification or shared with third parties.

Bug reports

A bug report is sent only when you submit one yourself from the app. It contains:

  • The category you picked, the title and description you wrote, and the app language
  • Diagnostics: only the Mac model family, macOS version, CPU type (arm64 or x86_64), the vendor family and type of connected mice and trackpads, and the app version and build. Never device names, computer names or serial numbers.
  • The install identifier (install_id) only while bug-report diagnostics consent is on
  • A reply email only if you typed one to receive an answer (optional)

Reports are visible only to the operator and replies go only to the email you entered. One install can send up to 3 reports per 10 minutes and 12 per day.

Notices, update checks and ad cards

Notices

The app checks for important notices at launch and every six hours while running. The request carries the app language, version and build; the server does not store them. "Don’t show again" is stored only in a platform.json file on your Mac.

Update checks

The app sends its current version and build to learn whether a newer one exists, and installs updates only after verifying their signature. No identifier or account is involved.

Ad cards

The app’s menu bar and settings window, and the site’s home and download pages, may show a card labeled "Ad" that introduces another service made by the operator. Card contents are fetched from the server and cached for six hours. In the app, one impression per day and clicks are reported only while statistics consent is on; on the site, impressions and clicks are added to daily totals without any identifier. No third-party ad networks or tracking scripts are used.

Newsletter (advertising emails)

The newsletter is sent only if you type an email address in the EasyMouse app and tick "Receive Wigma news (advertising)" separately. This consent is optional and off by default, and "Accept all" never signs you up. Every feature of the app works the same if you decline.

  • What is collected: your email address. Recorded with it: the time of consent, the version of the consent text, the app language, where you signed up and the app version at that time.
  • Purpose: sending Wigma news and advertising about services made by Wigma by email. It is not used for anything else or shared with third parties.
  • Retention: until you withdraw consent (unsubscribe). Sending stops when you unsubscribe, delivery fails or a spam report is received. For an address with a delivery failure or spam report, only its one-way hash and status are kept as a delivery record so it is not mailed again. Saving the same email address again restarts the subscription.
  • Processor and overseas transfer: emails are delivered through Amazon SES, operated by Amazon Web Services, Inc. (United States). At sending time the email address and the message are transferred over the network, and AWS processes them only as far as delivery requires. If a message bounces or is reported, only that fact is passed back to the operator’s server.
  • Re-confirmation every two years: every two years after consent, a reminder email states that your consent is still on file and how to cancel.
  • How to cancel: use the "Unsubscribe" link at the bottom of every email (it opens the unsubscribe page on this site) or the "Unsubscribe" button under Settings → Data & privacy in the EasyMouse app. A single notice email with the cancellation date follows.

Every newsletter subject starts with "[Ad]", and the footer names the sender (Wigma), a contact address and the unsubscribe link. Right after signing up you receive a notice email with the consent date and how to cancel. The app keeps only the token used to check and cancel the subscription, in a platform.json file on your Mac, excluded from settings export.

The easymouse.app website

  • No cookies or analytics. The site uses no cookies, analytics scripts or third-party tracking code. To count an ad card impression once a day, the browser’s sessionStorage briefly holds the card number and date; it disappears when the tab closes. To learn how visitors found the site, the same storage briefly holds the link’s ref value or the previous site’s domain (for example reddit.com); it is sent only with a download request and added to a daily per-source download total. No other part of the address and nothing that identifies a person is stored.
  • Download limit. When you request a download, the server records the day’s usage (up to 3) against an HMAC hash of your IP address and the Korean date made with a server secret. The original IP is not stored, and checking the remaining count never uses a download. These daily-keyed one-way hash records are kept for at most 2 days; after that only identifier-free daily download totals remain.
  • Rate limits. Every public request is rate limited by the hashed IP.
  • Server and CDN logs. The site and API pass through Cloudflare and the operator’s server. Standard access logs kept for security and incident response are processed only for those operational purposes.

Retention

DataRetentionNote
Records linked to an install id (installs, active)Up to 180 days (from last activity)Pruned automatically every day
Anonymous daily aggregate counts (daily, error_groups, error_daily)Up to 730 daysNo identifiers
Web download count (daily-keyed one-way hash of the IP)At most 2 daysOnly daily totals remain afterwards · original IP never stored
Ad card impressions and clicksDaily totalsNo identifiers
Bug reportsDeleted by the operator once handledReply email only if you entered one
Newsletter email addressUntil consent is withdrawn (unsubscribe)Sending stops after delivery fails or a spam report · only a one-way address hash and status are kept as a delivery record; saving the same address again restarts the subscription

Your choices and deletion

  • Change consent: switch statistics and bug-report diagnostics on or off separately in the app’s settings. Sending stops immediately when switched off.
  • Reset statistics ID: deletes the install identifier and creates a new one. Records linked to the old identifier are removed when their retention period ends.
  • Request deletion of my statistics: a button in the app’s settings deletes the install record and daily activity rows linked to the current identifier from the server right away, and the server refuses any later submissions for that identifier. Aggregate daily counts without identifiers remain.
  • Revoke permissions: turn off Accessibility and Input Monitoring at any time under System Settings → Privacy & Security.
  • Uninstall: removing the app removes the settings, consent record and install identifier from your Mac.

Changes and contact

When this document changes, the policy version is raised and the new text is published on this page. Any change that collects more than before shows the app’s consent screen again and asks for fresh consent.

Please send questions through the operator’s website, wigma.net. The conditions of use are in the terms of use.