Privacy
What stays on this Mac
Recording, search, charts, and reports run offline. Hina does not upload your activity data. It goes online in three places only, each when you click, and none of them carries activity data.
What Hina reads
Everything below is read on this Mac. Window titles and page addresses are off until you turn them on in Settings.
| Signal | Detail |
|---|---|
| App | App name, start and end time, and how many keys, clicks and scrolls happened. Key contents are never read. |
| Titles & addresses | Off by default. When on: the window title and document path. Browser addresses keep scheme, host, and path; query, fragment, username, and password are dropped, and an address that cannot be parsed is discarded. Turning this off keeps existing records. |
| State | Idle time, screen lock, fullscreen, display count, Space switches, whether the microphone, camera, and audio output are in use, battery, browser tab count, and the focused element's role. No audio, video, or page content is read. |
| Optional | Each has its own switch and is off by default. AI prompts: your prompts, the paths of files the assistant edited, and the session time, working directory and branch, not assistant reply text. AI usage metadata: model, project, time, and token counts from local Claude Code and Codex logs, not conversation text. Shell history: command, subcommand, and script filename; other arguments are dropped; read only while building a report and never stored. |
| Never | Screenshots, keystroke content, page contents, file contents, assistant reply text, and tool output. |
Where it lives
~/Library/Application Support/Hina/hina.sqliteholds your records, with the SQLite WAL files beside it.trial.datin the same folder holds trial progress.- The
com.tw93.hinapreferences hold settings, a mirror of your license key and activation record, and the optional local income estimate. - The Keychain item
com.tw93.hina.licenseholds the license key, the activation record, trial progress, and a fallback machine fingerprint. ~/.agents/skills/hinaand~/.claude/skills/hinahold the CLI skill, only if you clicked Install.- Exported CSV or Markdown files live where you saved them.
The three moments it goes online
Each happens only when you click. There is no background validation, no scheduled check, no account, and no telemetry.
| Moment | What happens |
|---|---|
| Buy | Hina sends no records. Your browser opens hina.day/api/checkout, which carries only the interface language and forwards you to the Dodo Payments checkout, and Dodo collects your name, email, and billing address under its own policy. |
| Activate | You paste the purchased key and click Activate. One POST carries your license key and the name “Hina” plus this Mac's eight-character short ID. No activity data and no full fingerprint. It goes to live.dodopayments.com/licenses/activate. The result is signed with this Mac's fingerprint, stored on this Mac, and never rechecked online. An offline key skips this step: an Ed25519 signature over this Mac's fingerprint, checked on the device. |
| Check for Updates | One GET reads the static https://hina.day/version.json; its URL and body carry no version, no ID, no record, and no query. Nothing is stored, and the comparison runs on your Mac. |
AI
Hina calls no AI service of its own: no cloud model, no account, and no record leaves the app.
It ships a local command-line tool and a skill so Claude Code, Codex, or any agent that can run a local command can read your records on this Mac. The CLI opens the database read-only and does not keep the question; Hina is not part of that conversation.
If that agent runs in the cloud, what you ask it to look up enters that service's context. That is the agent's boundary, not Hina's. If you want nothing to leave the machine, use an agent that runs locally.
The short recap is picked by fixed rules: up to three existing facts, shown as their original sentences. No model is involved, and it writes no numbers or claims of its own.
Updates and refunds
Check for Updates is manual. The version manifest, release notes, and update policy live on Releases. Every update is free.
If Hina is not what you wanted, ask for a full refund within 14 days. Verification happens on the device with no server to call, so a refund cannot switch an installed key off from here. It is a request, not remote enforcement. Your records are untouched. Details are on Refund.
Permissions and login item
The only permission Hina asks for is Accessibility. It does not ask for Screen Recording, Full Disk Access, or Apple Events. It reads whether the microphone, camera, and audio output are in use; it never reads their content.
On first launch Hina registers itself as a login item so recording continues after a restart. Login-item launches stay in the menu bar. You can turn this off in Settings. Hina is a personal tool: there is no team dashboard or shared reporting.
Removing Hina
Dragging Hina to the Trash leaves your records in place, so a reinstall picks up where it stopped. To remove everything, delete all seven:
~/Library/Application Support/Hina/: the database, its WAL files, andtrial.dat.~/Library/Application Support/Mado/: leftovers from the earlier app name, if you used it. The rename copied data and kept the old folder.defaults delete com.tw93.hina: settings, the license key mirror, and the local income estimate. Alsodefaults delete com.tw93.madoif that domain exists.- Keychain: search
com.tw93.hina.licenseand delete every entry (licenseKey,onlineActivation,trialDaysUsed,trialLastDay,machineFallbackFingerprint). ~/.agents/skills/hinaand~/.claude/skills/hina: only if you installed the skill.- CSV or Markdown files you exported. Hina does not delete them.
hina-probe.csv: only if you ran--probe.
In Settings, Clear records deletes Hina's activity rows and pauses recording. It does not reset the trial or license, and it does not remove the items above.
Check it yourself
The build is signed with a Developer ID and notarized by Apple. These commands check it on your Mac:
codesign -dv --verbose=2 /Applications/Hina.app: shows the Developer ID and timestamp.spctl -a -vv /Applications/Hina.app: should say “accepted” and “Notarized Developer ID”.shasum -a 256 ~/Downloads/Hina-0.6.0.dmg: compare with the SHA-256 on Releases.- With Hina running,
pgrep -x Hina | xargs -I{} lsof -nP -a -p {} -ilists only Hina’s network connections and should show nothing while idle. Activation and Check for Updates connect only when clicked. Use Little Snitch or LuLu to catch these brief connections. sqlite3 ~/Library/Application\ Support/Hina/hina.sqlite '.schema': only time, app, title, address, input counts and non-content state; no page contents, prompts, or replies.defaults read com.tw93.hina: settings only, including the license mirror described above.curl -s https://hina.day/version.json: a static version file, with no personalized parameters.
This website counts visits with Google Analytics and writes no cookies. It is hosted on Vercel, which may keep standard access logs. Questions: hi@hina.day.