---
title: FAQ
description: Common questions about privacy, browser support, data access, platforms, and troubleshooting.
---

## Is this a keylogger?

No — and the difference is in the defaults, not a promise. Keystroke **content** is not captured unless you explicitly opt in (`text_content = true`); by default only "typing happened, in this kind of field" is recorded. Password fields are excluded even if you do opt in, redactors scrub recognizable secrets, and nothing ever leaves your machine. See the [privacy model](/guides/privacy).

## Where does my data go?

Into one local SQLite file (`~/.local/state/tadoru/store.sqlite`) and nowhere else. The binary has no feature that transmits data — there is no endpoint, no telemetry, no account. Data is deleted automatically after 48 hours by default.

## Which browsers can it capture URLs from?

**Chrome only, for now.** Chromium's AppleScript interface reports each window's mode deterministically, which allows a hard guarantee that Incognito is always excluded. Safari and Firefox offer no reliable equivalent, so URL capture for them is deliberately not implemented rather than implemented unreliably. Details and the per-browser table: [event reference](/reference/events#browser-url-capture).

## How do I keep an app or site out of the record?

```bash
tadoru filter exclude-app add com.example.app
tadoru filter exclude-site add example.com
```

These are capture-time filters: matching events are discarded before being written, so there is nothing to clean up afterwards. Password managers are excluded by default. See [filters](/guides/filters).

## Can I read the store directly?

Yes — it's a regular SQLite file, and reading it directly is fine (that's also how future language SDKs would work). For most purposes `tadoru query --format jsonl` or `tadoru export` is easier and keeps you on the stable event envelope rather than internal table layouts, which may change between versions.

## How is this different from ChatGPT's Computer History?

Same core idea — your activity as context for an AI — with the opposite architecture: open-source, local-only storage, no cloud processing, and agent-agnostic surfaces (CLI / skill / MCP) instead of being tied to one assistant. Tadoru stops at structured, LLM-ready data; the interpretation is done by whatever agent you connect.

## Does it work on Windows or Linux?

Not yet. The event schema is OS-independent by design, and collectors for Windows (UI Automation) and Linux (AT-SPI2/evdev, X11 first) are on the roadmap. Today, Tadoru is macOS only.

## Can I use it on a work machine?

Tadoru records **your own activity, on your own machine, with your knowledge**. If the machine is employer-managed, follow your organization's policies. Using it to monitor other people is out of scope and may be illegal in your jurisdiction.

## I granted a permission but `doctor` still says `denied`

Toggling a permission sometimes requires the recorded process to restart before macOS reports it correctly. Run `tadoru stop && tadoru start`, then `tadoru doctor` again. If you built from source, remember that permissions bind to the signing identity — a rebuilt binary may need re-granting (see [permissions](/guides/permissions#permissions-and-code-signing)).

## My timeline is empty

Check in this order:

1. `tadoru status` — is it `running`? If not: `tadoru start`.
2. `tadoru doctor` — are permissions OK? (Missing permissions exit with code 3.)
3. Is the range right? `timeline` defaults to the last hour; try `--since 24h`.
4. Are [filters](/guides/filters) in allow-list mode? `tadoru filter show` displays the active mode.

## Something else?

Open an issue — bug reports and design discussion are welcome while the interface is being finalized.
