FeatureEvery plan

How your data is protected

Encrypted in transit and at rest, with row-level security on every table so you can only ever reach your own rows.

By Updated

Everything is encrypted in transit and at rest.

Every table enforces access in the database rather than in application code. You can only ever read your own rows and the rows of workspaces you belong to, and project-level access is enforced the same way.

This matters because it holds no matter which door a request comes through: the app, search, an export, or the API. There is no code path that can forget to apply the check.

AI features only run when you trigger them. Nothing is sent to a model in the background, and there is no ambient analysis of your tasks.

The Privacy page has the complete policy, including sub-processors and retention.

The parts of this that are your side of the line, in the order that matters. Everything above is what the platform does; this is what you control.

  1. Add a passkey.

    It replaces the password with the thing that already unlocks your device, which removes the whole class of problem where a password gets reused or phished.

    Open Security settings
  2. Add an authenticator app if you sign in from shared machines.

    A passkey covers the device it lives on. A six-digit code covers everywhere else. Keep the recovery codes somewhere other than the phone running the app.

  3. Check who is in your workspaces.

    Access is enforced in the database, but only against the list you set. A contractor who finished in March is still a member until someone removes them.

    Open Workspaces
  4. Review anything you shared by link.

    A share link works for whoever holds it, which is the point of it and the reason to retire the ones you no longer need.

  5. Take an export.

    Security includes still having your work. An export is the copy that does not depend on this account continuing to exist.

Similar readings

Everything below is in the Happiness Center.

Was this article helpful?