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:

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, query string, status, size, duration and a trace ID, and for some requests the DID and repository involved. Before a query string is logged, any value that could be a secret is removed, such as a login code, a token or a password. Login requests have no query string logged at all. The server never logs 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

Who else is involved

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

How long things are kept

How to remove things

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.