Legal
Privacy policy
Last updated: 25 October 2026.
1. Who is responsible
The controller of personal data processed by Knit Anywhere is Jeffrey Walter Mixon, a sole proprietor in the United States, reachable at support@getknit.app and at 7960 Soquel Drive, STE B166, Aptos, CA 95003-3999, United States. This policy covers the website at anywhere.getknit.app, the ticket issuer there, sign-ups to be notified when it opens, supporters' keys, and the relay (public-1.spool.getknit.app) and call servers that Knit Anywhere tickets let the Knit app use. The Knit app on your phone has its own policy at getknit.app/privacy.
This is our only privacy policy. The addresses of the shorter notices it replaces, anywhere.getknit.app/privacy and anywhere.getknit.app/waitlist/privacy, lead here.
2. What we process, and why
We hold nothing in anyone's name. The service is provided on a key, a random secret the Knit app calls a ticket key, and we keep a record for each key that names no one. To provide the service we process the following, for the purposes stated:
- Free keys — when you allow it in the Knit app, your phone makes a random key and keeps it. We keep a fingerprint (SHA-256 hash) of the key, never the key itself; the name of the relay the key is for; what the key may do; when it was made, the last day it fetched a ticket, and when it ends. To make a key, your phone also solves a small puzzle, whose random number and date we keep for two days so one answer cannot make two keys. Your phone contacts the issuer only after you have allowed it in the app, and only on days it sends a photo or file through a relay that reserves uploads for ticket holders, about once a day; turning it off in the app makes your phone forget its key, and a free key that fetches no ticket for 30 days ends. Purpose: to issue tickets, and to make creating keys in bulk slow.
- Supporters' keys — the same fingerprint, relay name, permissions and dates (but not the last day a ticket was fetched); whether the support is on GitHub or Ko-fi; a keyed hash of your GitHub account's id or of the email address Ko-fi gives us with your payment, which lets us find the key's record again at the next payment but cannot be turned back into the id or the address without a key we keep apart from the database; when you claimed it; the time of your latest one-time payment; and, until you claim it, a fingerprint of the claim link we emailed. Once a phone has used the key, also a fingerprint of a second key that phone made for it, which stays on the phone and names neither the phone nor you, and when it was first used. A supporter's key's record holds no name, login, email address or payment details. Purpose: to show you the key's link when you claim it or ask for a new one, to end the service on the key when your support does, and to keep the key to one phone.
- Your support — what GitHub or Ko-fi tells us about it: on GitHub, whether you sponsor Knit, at which amount, whether monthly or once, and when, read when you claim, when GitHub notifies us of a change, and once a day; on Ko-fi, each payment's amount, currency, type and time, and the email address it came from. To claim on GitHub you sign in with GitHub on our claim page; GitHub tells us your account's id, we use the sign-in once to read it and do not keep it, and a cookie holds a random value for up to ten minutes to tie the sign-in to your browser. From Ko-fi we use your email address twice, to compute the hash above and to send you the claim link, and do not store it. If you ask for a new link on the claim page, we use the address you type the same two ways, mail it only if its hash matches a supporter's key, and do not store it either. Purpose: to provide the service to supporters, as the terms of service describe.
- Tickets — each day your phone sends its key and receives a ticket naming the relay, when it is valid, what it allows, the day's upload allowance, the largest file it may send, and a pseudonym for that day. We keep no record of the tickets we issue beyond the last day a free key fetched one. Purpose: to let the relay and call servers admit your phone without learning who you are.
- Network addresses — when your phone makes a free key, we use the request's network address only to limit how many keys one network can make in a day. We store a keyed hash of it, of the whole IPv4 address or the first 56 bits of an IPv6 one, under a key that changes daily, with a count, and delete both within minutes of the day ending (UTC). Purpose: abuse prevention.
- The supporter badge — your phone sends its key and a commitment that hides your Knit identity from us, and receives a signed badge. We check the commitment's length and store nothing from the request, except that a supporter's key's first request from a phone records that phone's key fingerprint, as a ticket request does. Purpose: to issue the badge.
- Daily totals — for each relay and day, the number of free keys made and the number that fetched a ticket. Neither says anything about any one key. Purpose: running and sizing the free tier.
- Your sign-up to be notified — if you sign up; see section 3.
- Support correspondence — what you write to us and our replies. Purpose: to help you.
- Request logs — kept by our hosting provider, described in section 9.
We keep no address to write to you about your support: a change the terms of service promise notice of is published on this website and on the GitHub Sponsors and Ko-fi pages.
3. Signing up to be notified
When you sign up, we send one message to the address you typed, with a link to confirm. The link carries your address and whether you ticked the testing box, encrypted, so neither can be read from the link. We store neither until you use it.
To keep bots off the list, the form uses Vercel's BotID: when you press the button, your browser answers a small challenge from Vercel, and Vercel checks the answer before we send anything. The check sees the request's details, such as your network address and browser, but never the address you typed.
Once you confirm, your address joins our list at Resend, which sends our mail. The list holds:
- your email address;
- that you want to hear when Knit Anywhere opens, and whether you offered to help test it;
- when you signed up, and which messages we have sent you.
It holds no name, phone number or payment details, and nothing about your phone or your Knit identity. We write when the service opens, and, if you offered to help test it, may write to invite you. We send nothing else, and we never share or sell the list. Every message has a link to unsubscribe, and the mail stops at once; to delete your address entirely, write to us.
4. What the relay and call servers see
Your ticket admits your phone to the relay at public-1.spool.getknit.app, which runs Knit Spool on servers we rent in the European Union. Earlier versions of the Knit app reach the same relay as lax.spool.getknit.app. Photos and files are sealed on your phone before they reach it; the relay holds the sealed copies, which it cannot open, for a limited time and passes them to the phones they are for. It cannot read your messages or files, or learn who is talking. It sees the network address of each phone that connects, that a conversation (identified by a random number) is active, when you send and roughly how much, and your ticket, with its pseudonym for the day. It records no pseudonym. The proxy in front of it keeps a connection log with each network address masked to its first 24 bits (IPv4) or 48 bits (IPv6), the ticket removed from the address requested, and no browser or device identifier; the log overwrites itself as it fills, at about 30 MB.
When calls open, a call that cannot go directly between two phones goes through one of our call servers (TURN servers), each in the region it serves; the first is in Los Angeles, in the United States. Calls are encrypted end to end, and a call server cannot hear or join one. It sees both phones' network addresses, when the call happened, how long it lasted and how much data it carried, and keeps a log of each session with those details that overwrites itself as it fills, at about 30 MB.
The pseudonym in your ticket changes every day, so the relay cannot tell that two days' uploads came from the same phone. We could, because we make the pseudonym from your key's record and the date and we also run the relay. Policy is what keeps the two apart: the issuer keeps no record of the tickets it hands out beyond the last day a free key fetched one, and the relay records no pseudonym. How the Knit app itself uses relays and calls is set out in Knit's policy at getknit.app/privacy.
5. What we do not process
We do not receive the content of your messages, photos, files or calls, your Knit identity, your contacts, your phone number, or anything that identifies your phone. Outside sign-ups and support mail, we hold no email address. Card and payment details are entered on GitHub's or Ko-fi's pages and never reach us. We do not use your data for advertising, and we do not sell it.
6. Legal bases
Where the GDPR or the UK GDPR applies, we rely on: performance of our contract with you (free and supporters' keys, the claim, tickets, the badge, the relay and call servers, support); our legitimate interests in keeping the service secure and free of abuse and in knowing how much the free tier is used (the puzzle, the network address hash, the logs in sections 4 and 9, and the daily totals), balanced against your interests by keeping no more than described and for no longer; and your consent, for sign-ups, which you may withdraw at any time.
7. Who processes data for us
We use the following providers as our processors, each under its data processing terms and each receiving only what its role needs:
- Vercel Inc. (United States) — hosting of this website and the ticket issuer, with functions running in Frankfurt; its request logs (section 9); and BotID, the check for bots that runs when you send the sign-up form.
- Neon, Inc. (United States) — the service database, hosted in the European Union (Frankfurt).
- Hetzner Online GmbH (Germany) — the servers the relay runs on, in the European Union.
- Akamai Technologies, Inc. (Linode, United States) — the call server in Los Angeles.
- Resend, Inc. (United States) — the sign-up list, and delivery of the emails we send, including a Ko-fi supporter's claim link.
- Cloudflare, Inc. (United States) — DNS for getknit.app. It answers name lookups and does not sit in front of this site, the relay or the call servers.
- New Dream Network, LLC (DreamHost, United States) — the mailbox that receives what you write to support@getknit.app and abuse@getknit.app.
GitHub, Inc. (United States) and Ko-fi Labs Limited (United Kingdom) are where you support Knit. Neither is our processor: each decides for itself what it collects when you give, such as your account with it, name, email address and payment details, and how long it keeps it, under its own privacy policy, and Ko-fi's payment provider does the same for the payment. From them we receive only what section 2 describes.
8. Who else may receive data
Beyond the processors in section 7, we disclose personal data only: to a court, regulator or law enforcement authority when a request binds us, and then only what it binds us to disclose — we tell you unless the law forbids it or we cannot reach you; to a successor if the service is sold or transferred, under this policy; and at your direction. We do not sell it.
10. How long we keep data
A free key ends when it has fetched no ticket for 30 days; the service on a supporter's key ends when the month your last payment covered ends, or a one-time payment's year does. An ended key's record, which names no one, stays in our database so that we can answer questions about it, until you ask us to delete it. The puzzle's number and date are kept for two days, and the network address hashes and counts until minutes after the day ends. Daily totals are kept while the service runs. Sealed copies on the relay are deleted after a limited time, whether or not they were collected, and the relay's and call servers' logs overwrite themselves as section 4 describes. Vercel's request logs last one day. The sign-up list is kept until the service has opened and it is no longer needed, or until you unsubscribe or ask us to delete your address. Support correspondence is kept for up to two years.
11. Where data goes
The controller is in the United States, and several processors listed in section 7 are United States companies. The service database, the issuer's functions and the relay are in the European Union; the first call server is in the United States. Where personal data of people in the EU, EEA, UK or Switzerland is transferred to the United States, we rely on the processor's standard data processing terms, including the EU standard contractual clauses or a Data Privacy Framework certification where the processor holds one. GitHub's and Ko-fi's transfers are governed by their own policies.
12. Your rights
Depending on where you live you may have the right to access the personal data we hold about you, to have it corrected or deleted, to receive it in a portable form, to restrict or object to its processing, and to withdraw consent where processing is based on it. Write to support@getknit.app and we will respond within one month. You may also complain to the data protection authority where you live. We are below the thresholds at which the California Consumer Privacy Act applies, but we give everyone, wherever they live, the same rights: to know what we hold about you, to correct it, to delete it, to receive a copy, and to object. We do not sell personal information and do not share it for cross-context behavioural advertising, and have not done so in the preceding twelve months. We do not respond to browser Do Not Track signals; this site does not track visitors across sites, so there is nothing for the signal to switch off.
Because a key's record names no one, we need something that identifies it before we can act on a request about it: for a supporter's key, a message from the GitHub account or the email address you support Knit with; for a free key, turning the service off in the Knit app makes your phone forget it, and its record then ends on its own.
13. Security
All connections to this site, the issuer, the relay and the call servers use TLS. We keep only a fingerprint of each key, so a copy of our database cannot be used to fetch tickets. Photos, files and calls are encrypted on the phones, so the relay and call servers carry content they cannot read. Access to the systems is limited to the operator. No method is perfect; if we learn of a breach affecting your data we will tell you where we can reach you and, where required, the relevant authority, without undue delay.
14. Children
The service is not directed to children under 13, and you must be 18 or older to claim it as a supporter. We do not knowingly collect personal data from children under 13. If you believe a child has given us personal data, for example by signing up to be notified, contact us and we will delete it.
15. Changes and contact
We may update this policy. A material change is published on this website before it takes effect and on the GitHub Sponsors and Ko-fi pages, and the current version is always at anywhere.getknit.app/privacy-policy. Questions go to support@getknit.app; a person reads them.