FAQ / QUICK ANSWERS

FREQUENTLY
ASKED QUESTIONS.

Straight answers for people evaluating time.md and for existing users configuring privacy, permissions, exports, CLI, MCP, blocking, and optional input tracking.

Privacy and data upload

Does time.md upload my screen time?

No. time.md stores screen time sessions in a local SQLite database on your Mac. Trial/license requests do not include screen time, browser history, exports, input-tracking rows, categories, or blocking rules.

Does time.md have telemetry or analytics?

No. The desktop app has no app account, no product analytics SDK, no advertising SDK, and no in-app telemetry service.

What network calls does the app make?

It contacts the entitlement API to start/verify the card-backed trial or activate a paid license. It may also check for app updates through Sparkle. These calls do not include your activity database.

What exactly is sent for trial or license verification?

Trial verification sends a trial token or Stripe Checkout session ID plus app version and a random locally generated device ID. Paid activation sends the activation key, app version, and random device ID. The server stores a hash of the device ID, not your screen-time rows.

Does Stripe see my screen-time data?

No. Stripe handles card setup, payment, receipts, and fraud-prevention data in the browser. Stripe does not receive your local screen-time database from time.md.

Can I audit what is stored locally?

Yes. time.md stores readable and SQLite files under ~/Library/Application Support/time.md/, and the project is open source. The command-line tool can also query local tables directly.

Trial, payment, activation, and offline use

Is the download free?

Yes. You can download the macOS app for free. After onboarding, the app asks you to start a 14-day card-backed trial or paste a paid activation key before local collectors and the main app unlock.

How does the 14-day trial work?

The app opens Stripe Checkout in your browser. Stripe stores card details for the trial setup. When checkout finishes, the browser returns to time.md through a timemd:// deep link. time.md verifies the checkout and stores a trial token locally in Keychain.

Is the trial a subscription?

No. The documented checkout flow is a card-backed 14-day trial for the desktop app, followed by a one-time paid license if you choose to keep using time.md.

How much is the paid license?

The site currently sells a one-time macOS desktop license for $19.99 USD unless checkout states otherwise.

Can I use time.md offline?

You need internet for initial trial setup, trial verification, or paid activation. After a successful paid activation is cached locally, the app can continue if a later verification attempt temporarily fails. A saved active trial can continue until its expiration if a temporary recheck fails.

What if the trial deep link does not open time.md?

Open time.md manually and paste the fallback trial key if the success page provides one. The expected deep link contains a Stripe session ID, such as timemd://activate-trial?session_id=cs_....

Where is my activation key stored?

Activation keys and trial tokens are stored in macOS Keychain. Entitlement previews and last-verified metadata are stored locally in app preferences.

Setup, browsers, and permissions

Which macOS version do I need?

time.md targets macOS 14 Sonoma or newer. Building from source requires Xcode 15 or newer.

Why does time.md ask for Full Disk Access?

macOS protects local Screen Time and browser history files. Full Disk Access lets time.md read those files for local analysis. It does not upload them.

Which browsers are supported?

Safari, Chrome, Firefox, Arc, Brave, and Edge are supported. The Web History settings screen shows installed browsers and lets you enable or disable each one.

Do private or incognito windows appear?

No, not normally. time.md reads each browser's local history database. Private/incognito browsing is designed not to be written to normal browser history.

What are Accessibility and Input Monitoring for?

They are for optional Input Tracking. Normal dashboards, exports, and Web History do not need keyboard/mouse monitoring. If you enable Input Tracking, macOS may require Input Monitoring and sometimes Accessibility for global event capture.

Can I use time.md without granting every permission?

Yes, but features that depend on the missing permission will be incomplete. For example, without Full Disk Access browser history may be empty; without Input Monitoring optional input analytics will not record events.

Data, local files, and accuracy

Where does time.md store its data?

The main usage database is ~/Library/Application Support/time.md/screentime.db. Other local files include screen-time-snapshot.json, web-history.db, input-tracking.db, blocking-rules.db, and category-mappings.db.

When should I expect data to appear?

After trial or license activation, time.md starts local collectors. New app sessions are written after the session ends, such as when you switch apps, the screen sleeps, or the app quits. Very short fly-through sessions are ignored.

Why is the current app not counted yet?

The current app is an in-progress session. It is finalized when you switch away, sleep the screen, or quit time.md.

How accurate are the numbers?

App usage is based on frontmost-app sessions and macOS-provided local data. Short app switches under about two seconds are filtered out to avoid Cmd-Tab noise. Browser history depends on each browser's local history database and may not represent exact active reading time for every tab.

What is web-history persistence?

It is an optional setting that copies recent browser visit rows into time.md's local web-history.db so Web History can remain available after a browser clears its own history. It is still local-only.

Can I edit app categories?

Yes. Use Apps & Categories or Projects/Rules views to map apps into categories such as Productivity, Games, or Business. Custom mappings are stored locally in category-mappings.db.

Exports and Obsidian

What formats can I export?

time.md supports CSV, JSON, YAML, Markdown, and Obsidian-flavored Markdown. Export options include sections, fields, filters, date ranges, and formatting options.

Does exporting upload data?

No. Exports are written to a folder you choose on your Mac or connected storage. If you choose a cloud-synced folder, that folder's provider may sync the file according to your settings.

How does Obsidian export work?

Choose the Obsidian format in Export. Obsidian exports can include frontmatter, daily-note style date links, and wiki links such as [[App Name]], depending on your export options.

What is screen-time-auto.<ext>?

It is the live auto-export in your selected export destination. It uses your last selected format, sections, filename template, and relative date range. Raw input-event sections are excluded from live auto-save for safety.

Why did export writing fail?

The destination folder may have moved, become read-only, gone offline, or lost its security-scoped bookmark. Choose the folder again in Export, or try ~/Downloads/time.md Exports.

CLI and MCP

Does time.md have a command-line tool?

Yes. Settings → CLI Access installs timemd and timemd-mcp into ~/.local/bin. Example commands include timemd today --limit 5 and timemd top-apps --since 7d --limit 20.

What is MCP integration?

The bundled timemd-mcp server exposes selected local time.md tools to MCP-compatible agents such as Claude Code, Cursor, Windsurf, and other tools that accept the standard mcpServers config shape.

Does MCP send data to time.md servers?

No. MCP lets a local agent process query results from your local databases. The privacy risk is which agent or script you allow to read the results, not a time.md upload.

Can I disable individual MCP tools?

Yes. Settings → MCP Integration includes a server on/off switch and per-tool toggles. Disabled tools are hidden from the server's tool list and rejected if called.

What if timemd is not found?

Install or Repair from Settings → CLI Access, then make sure ~/.local/bin is on your shell PATH.

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Website and app blocking

What does blocking do?

Blocking provides simple on/off blocks for distracting websites and apps. On means blocked; Off means viewable again.

Why does website blocking need an admin password?

System-wide website blocking requires changes to protected system networking files. time.md asks for administrator approval to install or upgrade a helper that manages only time.md-marked hosts entries and its own pf anchor.

Does website blocking inspect my browsing?

No. The helper enforces domain block rules. It does not read page contents, passwords, cookies, or browser tabs.

How do I turn all blocks off?

Open Blocking and use Turn off all blocks, or switch individual rules off. Run diagnostics if a website remains blocked after rules are off.

How does app blocking work?

time.md observes frontmost-app changes. When a blocked app opens, it can show a notice and hide the app, hide it without foregrounding time.md, request termination, or notify only depending on the configured action.

Input tracking

Is input tracking on by default?

No. It is off by default and requires explicit opt-in in Settings → Input Tracking.

What can input tracking record?

Depending on your selected levels, it can store typing timestamps, key codes, actual typed characters, cursor positions, clicks, and scroll events. Lower levels avoid storing typed characters.

Does time.md record passwords?

time.md excludes common password managers and drops typed characters when macOS Secure Input is active. However, not every private field enables Secure Input. Full Content mode can store sensitive typed text locally, so use it only if you accept that risk.

Can I pause input tracking quickly?

Yes. Press P to pause capture for 30 minutes, or use Pause Now in Settings.

How long is input data kept?

Raw retention is configurable from 1 to 30 days. Aggregates such as top words and heatmap bins may remain until you delete input data.

How do I delete input-tracking data?

Use Settings → Input Tracking → Delete all input data. This removes keystroke events, mouse events, typed words, and cursor heatmap bins from the local input database.

Deleting data and uninstalling

How do I delete all local time.md data?

Quit time.md, then remove ~/Library/Application Support/time.md/. Delete exported files from your chosen export folder separately. You can also delete persisted web history and input data from app settings before removing the app. If you also want to remove saved trial/license credentials from Keychain, use Settings → License & Trial → Reset before uninstalling.

How do I uninstall time.md cleanly?
  1. Open Blocking and turn off all blocks if you used blocking.
  2. Use Settings → License & Trial → Reset if you want to remove saved entitlement state from this Mac.
  3. Uninstall CLI/MCP integrations from Settings if you installed them.
  4. Quit time.md.
  5. Delete /Applications/time.md.app.
  6. Remove ~/Library/Application Support/time.md/ if you want to delete local data.
  7. Remove time.md from Privacy & Security permission lists.
Will deleting the app cancel or remove Stripe records?

No. Deleting the app removes the local app, not Stripe receipts or Cloudflare entitlement records. Email support for purchase, license email, or refund questions.

Can I move my data to another Mac?

You can copy exports or local databases yourself, but activation/trial credentials live in Keychain and may need reactivation on the new Mac. Copying local databases should be done while time.md is quit.