Privacy

What we know about you, and what we do with it.

Written from the code rather than from a template. Every claim about what the app stores was read out of the file that stores it, so this page says what actually happens rather than what a privacy policy usually says.

Privacy, part one

Who is responsible for your data.

Us

FellowStitch decides what happens to the personal data described here. In the law's words we are the controller.

Write to support@fellowstitch.com about anything on this page.

We have not appointed a data protection officer, because we do not monitor people on a large scale and do not handle special categories of data.

Privacy, part two

What we collect, and why.

Nine flows, each with what it holds and what allows us to hold it.

Your account

Your email address. If you sign in with Google, also your Google account id and the name on it. Plus a session token and a device id and name, kept in your browser so you stay signed in and so sync knows which machine it is talking to.

We hold this to give you the account you asked for. No email address, no account.

Your patterns

On a free account your patterns never leave your browser. They sit in that browser's own storage and we cannot see them.

On a paid plan they are stored for you in the cloud, under your own path, so they open on any machine you sign in on.

Printing a pattern

On the free plan we record each pattern you print against your account, so we know when you have used your 3 and never charge twice for one pattern. We keep the pattern's id and when you first printed it.

The pattern itself is not sent to us.

Paying

Your name, email, billing address and purchase history go to Stripe. Your card details are typed on Stripe's own page and never touch ours.

Stripe handles this partly for us and partly for itself, because it has its own legal duties around fraud and tax.

Generating a pattern

Your prompt, any reference photo you give it, the pattern that comes back, and a record of the job.

Google does not use paid-tier prompts or responses to improve its products. It keeps logs only to catch policy violations.

The people who run FellowStitch can see your prompts, reference photos and the patterns that come back, and on a paid account the names and pictures of patterns you save to the cloud. We look at them to keep the generator working, to fix problems and to answer you.

When you are signed in, we record a short list of things you do in the editor, such as importing a picture, exporting a PDF or opening the plans, and whether you are on a phone, a tablet or a computer, so we can see where the product gets in your way. We keep them for 180 days.

Moderation

When a prompt is refused we store the prompt, the reason and a strike count against the account. Five refusals in a day lock the generator for a day.

We hold this to stop the tool being abused, which is our legitimate interest in keeping it running for everyone else.

A machine makes the first decision. A person can be asked to look at it. A day's lock on one feature is not a decision with a legal or similarly significant effect, but it is described here anyway.

When something breaks

An error report carries the error, where in the code it happened, and the request path. Prompts, email addresses and tokens are stripped out before it is sent.

We hold this to fix faults, which is our legitimate interest in a service that works.

Asking for a free pattern

Free patterns go to people who join our email list. We hold your address to send you the files, and to email you new free patterns and offers for FellowStitch, which is what the sentence above the email box says.

Nothing from other companies, and no box is ticked for you.

You can leave in one click from any email. Leaving deletes the address, and the patterns you already have stay yours.

Resend, run by Plus Five Five, Inc., holds these addresses. Resend says it transfers them to the United States and processes them there.

Visiting the site

Our host logs your IP address and the request, the way every web server does.

Privacy, part three

Who else sees it.

The suppliers

Supabase holds the accounts, the database and the cloud patterns. Vercel serves the site and counts visits to it. Stripe and Sold through Link, LLC handle payment. Google generates the patterns, signs you in if you use it, and measures our Google ads as the next section says. Sentry receives error reports. Resend holds the email list. Cloudflare checks that a person, not a program, is signing in or joining the email list, and to do that it reads your IP address and what your browser says about itself.

Each of them handles data on our instructions under a written contract, except Google when it signs you in and Cloudflare when it runs that check, where each acts for itself as well.

We advertise through third parties. If you arrive from a ChatGPT ad, the page address carries a click code OpenAI made for that click. When you arrive on this site from the ad, when you sign up, when you first open a checkout for a plan, when you start a free trial, and when you first pay for a plan, our server sends OpenAI the code, which of these happened and when, together with the IP address and the browser description (the user agent) of the request. For your arrival it also sends the address of the page you arrived on. For each step after your arrival it also sends a hashed form of your email address and of your account id. A hash is a one-way code: it lets OpenAI match the event to an account it already knows, but we never send the address or the id itself. For a checkout it also sends the plan and the price Stripe shows, for a trial the plan, and for a first payment the plan and the amount paid. For a checkout, a trial and a payment, the IP address and browser description are the ones from your sign-up, which we keep for 30 days and then delete. It sends no name and nothing else about you, and nothing about the code is stored on your device.

Leaving the EU

Supabase holds this data in London (eu-west-2), in the United Kingdom. That is not an EU region. Its contract carries the standard contractual clauses.

Stripe, Google, Sentry and Resend can process data in the United States. Stripe, Google and Sentry do so under standard contractual clauses, and Google and Sentry are also certified under the Data Privacy Framework. Resend says it transfers addresses to the United States and processes them there.

The site runs on Vercel Pro. Vercel's data processing agreement covers that plan, so the contract applies.

Privacy, part four

The ad sites, and what we tell them.

We advertise on Google and on ChatGPT. When one of those ads brings you here, we tell the ad site what happened next, so we can see which ads work.

Google

If you arrive from a Google ad, the page address carries a click code Google made for that click, and we keep it with your account when you sign up.

If you say yes to ad measurement, our server then tells Google when you signed up, when you first paid for Plus or Studio, and each time you buy a credit pack. Each message carries the click code, which of these happened and when, and for a payment the amount and the currency. It carries no email address, no name, no account id and no payment id, and we tell Google not to use it to personalise the ads you see.

We ask for that yes if you sign up from the European Economic Area, the United Kingdom or Switzerland, or if we cannot tell where you are. Anywhere else we send these messages unless you turn ad measurement off.

OpenAI

If you arrive from a ChatGPT ad, our server tells OpenAI about your arrival, your sign-up, opening a plan checkout, starting a trial and your first payment for a plan, as the supplier section says.

What the page address carries

Besides an ad's click code, the links between our pages carry the name of the site that sent you here, such as www.google.com, the first page you opened on our site, and any campaign tags an ad or a link added. They travel in the page address so that we can record where your account came from when you sign up. Nothing of it is stored on your device.

How long we keep it

A Google click code: 100 days after you sign up.

Where your account came from, the first page and the campaign tags: as long as your account exists.

The record of each message to Google: 180 days after it was sent.

Taking the yes back

In the editor, open Account from the menu under your name and turn off Ad measurement. From then on we tell Google nothing more about your account. Google does not let us take back a message already sent.

Privacy, part five

How long we keep it.

Each kind of data has its own period, and nothing is kept longer than it says here.

Every period

Your account and your cloud patterns, after you close the account: deleted within 30 days.

The moderation log, including refused prompts: 90 days.

The record of each pattern you generated, which is who asked, when, the prompt, the credits and whether it worked: kept while your account exists.

The record of which patterns you printed on the free plan: kept while your account exists.

The record of which emails we sent you, which is the kind of email, the address and when it went out: 180 days.

Error reports at Sentry: 90 days.

Server request logs: 30 days.

The IP address and browser description of a sign-up that came from an ad: 30 days after the sign-up.

A Google ad click code: 100 days after the sign-up.

Where your account came from, the first page you opened and any campaign tags: kept while your account exists.

The record of each message to Google about an ad: 180 days.

Payment records: as long as tax and bookkeeping law requires, and no longer.

Privacy, part six

Cookies, and what is kept in your browser.

There is no cookie banner on this site, and that is a deliberate conclusion rather than an oversight.

What is stored on your device

Your sign-in token, so you stay signed in. A device id and name, so sync can tell your machines apart. Your own patterns, autosaved. And small preferences such as which panel you had open. If you sign in or join the email list, Cloudflare's check keeps what it needs for that check in your browser.

That is everything.

Counting visits

We use Vercel Web Analytics to count visits to this site and to the editor. It sets no cookies and stores nothing on your device.

For each page you open it records the time, the page address, the site that sent you there, your country, region and city, your browser, your operating system, and whether you are on a phone, a tablet or a computer. Visits are told apart by a code worked out from the request, which Vercel throws away after 24 hours. None of it is tied to your name or your IP address, and we only see totals.

The home page also records, for each visit, which parts of the page were on screen and for how long, which buttons were pressed and which questions were opened, with your country and whether you are on a phone, a tablet or a computer. It sets no cookie and stores nothing on your device, and it keeps no IP address and no ad click code. If you then create an account, that visit is linked to it, and closing the account removes the link. These records are deleted after 180 days.

Why there is no banner

Consent is needed for storage that is not strictly necessary for a service you asked for. Every item above is necessary: a sign-in token for staying signed in, autosave for the work you are doing, preferences for the interface you are using, the robot check for keeping programs out of sign-in and the email list.

There is no advertising on this site and no marketing pixels. We advertise elsewhere through third parties, and if you arrive from one of those ads, our server tells the ad site that ran it what happened next, as the ad sites section says. The click code, the site that sent you, the first page you opened and any campaign tags travel in the page address and are never stored on your device. Your answer about ad measurement is kept with your account on our server, not on your device. The visit counting above sets no cookies and stores nothing on your device.

The day anyone adds analytics that stores something on your device, an embedded video, a chat widget or a marketing pixel, this stops being true and a real banner with a working decline button becomes mandatory. That is not a small change.

Privacy, part seven

What you can make us do.

Your rights

You can ask for a copy of what we hold, ask us to correct it, ask us to delete it, ask us to stop or limit what we do with it, object to us doing it, and ask for it in a form you can take elsewhere.

Write to support@fellowstitch.com. We have one month to answer.

Where we rely on your consent, you can take it back at any time, and it has to be as easy to take back as it was to give.

If you are not happy with our answer

You can complain to the data protection authority in the country where you live.

Deleting data held by Stripe

Stripe handles deletion requests for the payment data it holds under Managed Payments, and tells us when it has. So a deletion request may need to go to both of us.

Nothing here follows you around.

We count visits without cookies and without knowing who you are, which is why this page can be short and why there is nothing to click away before you use the editor.