~ knotless Search/
↑↓ move↵ open⇧↵ all results

Privacy policy

Last updated: October 27, 2026

In short

Most of what knotless.dev shows is already public: your repositories, pulls, issues and comments are records on your PDS, the server that hosts your atproto account, and anyone can read them. knotless.dev keeps a little more to log you in, show you private repositories you belong to, and count how it is used. It shows no ads, sells nothing, runs no third-party analytics and sends no email. This page says what it keeps, who else is involved, how long things last and how to remove them.

What is public by design

On atproto, your account is named by a DID, a permanent identifier, and shown by a handle such as alice.example.com. Its records live on your PDS, and public records there can be read by anyone, not only knotless.dev. A repository you push, a pull or issue you open, a comment, a star or a follow is one of these records.

knotless.dev reads these records from the network, indexes them and caches the git data, so it can draw pages and answer clones. It cannot make a public record private, and removing something from knotless.dev does not remove it from your PDS or from other services that read it.

The email addresses you link to your commits are kept the same way, in a record in your own account, but only as SHA-256 hashes salted with your DID. No one can list them.

Private repositories are the exception. Their records can be read only by their members. knotless.dev indexes one when a member reads it there or when its owner logs in, keeps it in step through a member's session, and forgets it once that access fails. Private repositories never appear in search, feeds, social cards or stars, and their cached git data is kept apart for each viewer.

What knotless.dev keeps beyond that

Cookies. Logging in sets three, all HttpOnly, Secure and SameSite=Lax:

  • knotless_session, signed, names your DID, and lasts 90 days.
  • knotless_accounts lists up to four other accounts you are logged in to.
  • knotless_login holds the state of a login in progress, for 15 minutes.

Your browser also keeps your time zone in a cookie for a year, so times show in your zone.

Sessions. When you log in, knotless.dev holds your OAuth session on the server. A session from the web pages can do what knotless needs, including reading private repositories you are a member of. A session for the git gateway lasts up to two years if used at least every three months. An MCP session is dropped after 90 days unused.

Notifications. Your notifications are worked out from the index. knotless.dev keeps when you last looked, and which notifications you chose to hear of.

Usage counts. Requests are counted by the hour, by route and by the kind of client that sent them. Pages drawn in a browser report the route and, if you came from another site, that site. Visitors are counted once a day by a hash of their IP address, with its last byte dropped, and their browser's user agent, salted with a key made for that day. The key and the hashes are deleted once the day is over, so no address is kept and no one can be followed from one day to the next. A browser that sends Global Privacy Control is not counted. Which accounts used which kinds of action each day is counted by DID, and the DIDs are dropped after 30 days, leaving only totals that name no one. Why an action failed, as the server answered, and the user agents of crawlers and scripts, never of browsers, are counted by the hour and dropped after 30 days.

Logs. The server logs each request's route, path, status, size, duration and a trace ID, and for some requests the DID and repository involved. It never logs query strings, headers or request bodies, and its logs hold no IP addresses. Logs are deleted after 30 days.

Hosted CI. The minutes a public repository's CI uses are published as records. Private repositories' minutes are not.

What knotless.dev never does

  • It shows no ads and sells no data.
  • It runs no third-party analytics or error tracking.
  • It sends no email.
  • The knotless command line tool sends no telemetry.

Who else is involved

  • Hetzner hosts the server and the CI runners.
  • Cloudflare provides DNS. Traffic does not pass through Cloudflare.
  • Cloudflare Workers AI suggests labels for issues: the labeller sends it an issue's title and text, on repositories that use the labeller.
  • The Bluesky relay and Jetstream feed the index with records from across the network.
  • typeahead.waow.tech suggests handles as you type in the login dialog, and receives what you type there.
  • selfhosted.social creates your account if you choose "Create one" in the login dialog. It is a PDS run by others, under its own policies.

Your PDS, wherever it is, holds your records and your login. Its operator's policy covers what it keeps.

How long things are kept

  • Session cookies: 90 days. Login cookies: 15 minutes. The time zone cookie: one year.
  • Gateway sessions: up to two years if used every three months. MCP sessions: until 90 days unused. Any session: until you log out.
  • Daily visitor hashes and their key: until the end of the day.
  • DIDs in usage counts, and why actions failed: 30 days. Hourly counts carry no DID or address.
  • Private repositories: until no member's access works any more.
  • Server logs: 30 days.

How to remove things

  • Log out. This ends your session on the server and revokes it.
  • Delete a comment you wrote.
  • Delete a repository. This removes its record, refs and git data from your account, and knotless.dev stops showing it. Pulls, issues and comments others wrote about it stay in their accounts.
  • Delete your knotless data, from your account settings or with knotless delete-data. This deletes every knotless record from your atproto account: your repositories, private ones with their spaces, and your pulls, issues, comments, stars, follows and the rest. knotless.dev then deletes everything it indexed from you and ends your sessions, as for a deleted account below. Your atproto account, and what other apps keep in it, stay.
  • Delete your account at its PDS. knotless.dev then deletes everything it indexed from the account, its repositories' cached git data and any sessions it kept for you. It keeps only its moderation records about the account: takedowns and reports. An account deactivated at its PDS is hidden instead, and comes back if it is reactivated.
  • For anything else, ask on the knotless issue tracker.

Your rights

Depending on where you live, laws such as the GDPR give you the right to ask what data is held about you, to have it corrected or deleted, to object to its use, and to complain to a data protection authority. Most of your data is in your own account, where you can read and delete it yourself, all at once by deleting your knotless data. For what knotless.dev keeps, ask on the issue tracker. An issue there is public, so say what you need without posting the data itself.

Children

knotless.dev is not for anyone under 16. If you learn that a child under 16 is using it, tell the maintainers on the issue tracker.

Changes to this policy

When this policy changes, the date at the top changes too.

Contact

knotless.dev is run by the knotless project's maintainers. Reach them on the knotless issue tracker. There is no email address. See also the terms and the community guidelines.