Last Updated: October 14, 2026
This policy covers one app: Stitch Keeper: Row Counter, the row counter and project companion for crochet and knitting, on Android, iPhone and iPad. Our other apps are covered by the general Illumination Development privacy policy, which does not apply here. That policy describes accounts, reward balances and redemption records that this app does not have.
The short version
We never receive your projects. There is no account and no sign-up. Every project name, every counter and its count and every pattern repeat is written to storage on your device and stays there. So is every saved setup, chart, yarn record, pattern PDF, note and photo. There is no sync, no cloud backup of ours and no server holding a copy. A backup file or a shared chart leaves the device only when you send or save it yourself, and it never passes through us.
What does leave the device is advertising, anonymous usage analytics and crash reports, plus a support message if you choose to send one. Each is described in full below, along with how to limit it. The app shows ads that can be personalized and keeps analytics. We would rather say so plainly than describe it as sending nothing.
What stays on the device
The app keeps these things on the phone or tablet:
- Your projects — each one's name, whether it is crochet or knitting, its counters (a label, the count, and a pattern repeat length if you gave one) and any notes you write.
- Saved setups — the counters of a project you chose to keep with “Save setup”, as labels and repeat lengths only. A setup never holds a count.
- Color charts — the grids you design or make from a photo.
- Yarn records — what you note about a yarn, and a photo of its label if you add one.
- Pattern PDFs — a copy of any pattern you open in the app, and the highlighting and markup you add to it.
- Photos — a copy of any photo you pick as a project's picture or a yarn label, kept in the app's own storage.
- Small settings — which tips you have seen and the screen to reopen on, so the app can return you to your counter.
- Home screen widget and quick tile — if you add them, the project name, counter label and count they show are kept on the device for them.
On iPhone, the Siri shortcut “Add a row” works on the device too; the app sends nothing for it.
None of it is transmitted by the app. There is no profile. If the device backs itself up to iCloud or to Google, that copy is governed by Apple's or Google's terms and your own backup settings, and we have no access to it.
Backups and sharing are yours to send. Settings → Back up projects makes one file holding every project, photo, chart, pattern and note. On Android you can save it to a folder you choose on your phone or hand it to the share sheet. On iPhone and iPad it goes to the share sheet. A chart can also be shared as a picture or as written rows. Wherever you send these is your choice, and they never pass through us. Restoring a backup reads the file on the device.
Adding a photo opens the system photo picker. The app receives only the photo you choose and copies it into its own storage. A photo you use to make a chart, or to pick a color, is read on the device and not kept. The app does not browse your library, and it never uploads a photo.
You can delete a project (with everything in it). You can remove a counter, photo, chart, yarn or pattern, or delete a saved setup. Or you can erase everything at once with Delete my data, described below. The copy on your device is the only copy there is, unless you made a backup, so deleting the app removes it too.
What the app sends
None of what follows includes a project name, a counter label, a count or a photo. None of it includes your name or email address either, unless you type them into Contact support yourself.
An anonymous identifier
On first launch the app signs in anonymously to Google Firebase. This produces a random identifier for the installation. It is not a name, not an email address, not a phone number, and nothing you typed. There is no password and nothing to sign up for. It is used as the key for the installation's analytics and crash reports. It is also shown to you in Contact support (as “User ID”), so that a message you send us can be matched to the crash reports from the same device.
Usage analytics
The app reports a small set of events to Google Analytics:
- which screen is open;
- that a project was created (whether it is crochet or knitting, and whether it started from a saved setup) or deleted;
- that a counter was added, edited or reset, and whether it has a repeat;
- that a photo was attached;
- that a setup was saved or deleted, and how many counters it holds;
- how many taps a counting session had when you left the counter screen;
- that a project was finished;
- that a chart was created or shared (and in which format);
- that a backup was made or restored;
- that the widget help was opened or a widget was pinned;
- that the privacy policy was opened;
- how long the app took to start;
- when an error message was shown.
It never reports what you named anything, what a count is, or what is in a chart, pattern or backup.
Alongside those, Google Analytics collects its own app-instance identifier and coarse device information, such as the model, the operating system version and the app version. It also collects an approximate location that Google derives from the IP address. The app itself never asks for location permission. We use analytics to see which features are used and which are not, and for nothing else.
Crash and diagnostic reports
If the app crashes or hits a handled error, Google Crashlytics sends a report: the stack trace, the app version, the device model and operating system, and the anonymous identifier above. This is how bugs get found. Analytics and crash reporting are both switched off entirely in development builds.
Advertising
The app is free and carries advertising from Google AdMob and no one else. There is one placement: a banner at the foot of the project list. There is no advertising on the counter screen, which is the screen held open while you work. There are no full-screen or rewarded advertisements. There is nothing to buy.
To serve advertisements, the Google Mobile Ads SDK contacts Google and may collect device and advertising information:
- an advertising identifier (Google's advertising ID on Android, and Apple's Identifier for Advertisers on iPhone and iPad if you allow it);
- device signals;
- an approximate location derived from the IP address;
- the request, impression and click themselves.
We never see this identifier, and it is not connected to anything you count.
Advertisements in this app can be personalized, where the law and your choices allow it. The app is not child-directed and does not ask Google to switch personalization off; the choices below are how you limit it. Google's use of the information it collects is governed by Google's own privacy policy.
On iPhone and iPad: the tracking prompt
The app shows Apple's App Tracking Transparency prompt before any advertisement is requested. If you choose Ask App Not to Track, the app never receives Apple's Identifier for Advertisers and advertising continues without it. You can change your answer at any time under iOS Settings → Privacy & Security → Tracking.
On Android: the advertising ID
The app does not ask for any runtime permission. The advertising-ID permission is present, because the Google Mobile Ads SDK declares it, and it is used for advertising. You can reset or delete your advertising ID, or opt out of personalized ads, in your device's settings. On most phones that is Settings → Privacy → Ads, or Settings → Google → Ads.
In the EEA, the UK and Switzerland
Where a consent regime applies, Google's consent message is shown before any advertisement is requested. It asks for your choices about personalized advertising and the storing of and access to information on the device.
You can change your answer at any time: Settings → Ad privacy options reopens the same choices. That entry appears only where Google reports that a consent regime applies, which is why people elsewhere will not see it. Your consent decision is stored on your device by Google's consent SDK.
Contacting support
Settings → Contact support is the one place the app asks for anything about you. To send a message it needs your name, your email address, a topic and the message itself. Before you send, the form shows you exactly what else is attached: the app name and version, your device's platform and operating system version, and the anonymous identifier described above.
All of that is delivered as an email to our support inbox. It goes through a small Google Apps Script service that exists only to forward it. Your address is set as the reply-to so that we can answer you. Your email address is used to reply to you and for nothing else.
The form is entirely optional. The app works fully without it, and if you never use it we never receive a name or an email address from you.
Delete my data
Settings → Delete my data does these things, immediately and without asking us:
- It permanently erases every project, counter, note and saved setup. It also erases every chart, yarn record, pattern PDF and its markup, every photo the app has stored, and what the widget and quick tile show.
- It empties the app's cache, including copies the file picker or the share sheet kept of patterns and backups.
- It resets the Google Analytics identifiers held on the device, so later analytics start from a new app-instance identifier.
- It deletes the anonymous Firebase identifier described above, and signs in afresh with a new, unrelated one. If this step cannot finish, the app says so, and you can try again.
Analytics events and crash reports already sent to Google before you pressed it are kept by Google under its own retention periods. They are keyed to identifiers that no longer lead back to this installation. If you want those looked at as well, write to privacy@illuminationdevelopment.com.
Support messages you have already sent are kept in our inbox, because an email that has been delivered cannot be recalled. You can ask us to delete them at the same address.
What the app does not do
- No account, sign-in, username or profile.
- No upload or sync of your projects, counts, setups, charts, patterns or photos. A backup or shared chart goes only where you send it.
- No rewards, no coins, no in-app purchases and nothing for sale.
- No chat, no user-generated content shared with anyone, and no way to reach another person through the app.
- No location permission. The only location involved is the approximate one Google derives from the IP address, described above.
- No camera, microphone, contacts, calendar or health data. Photos are read only when you pick one, through the system picker.
- No advertising network other than Google AdMob.
- We do not sell personal information. The advertising described above may count as sharing for cross-context behavioral advertising, in the sense the CCPA and CPRA give that term. You can limit it by declining the tracking prompt, resetting or deleting your advertising ID, and opting out of personalized ads.
Children
Stitch Keeper is a tool for people who crochet and knit and is not directed at children. It is listed on Google Play for an audience of 18 and over. Its advertising requests are not flagged as child-directed, and we do not knowingly collect personal information from anyone under 13. If you believe a child has sent us personal information through Contact support, write to privacy@illuminationdevelopment.com and we will delete it.
Your rights
Under the GDPR, the UK GDPR, the CCPA and CPRA, and comparable laws elsewhere, you have rights to access, correct, port and delete the personal information a company holds about you. The only things this app gives us that name you are the name and email address in a support message you chose to send. Everything else is keyed to a random identifier. You can erase what is on the device yourself with Delete my data. For anything else, such as a support message or data Google already holds, write to privacy@illuminationdevelopment.com.
Information held by Google from serving advertisements, running analytics and receiving crash reports is subject to Google's privacy policy and the controls described above.
The browser version
Stitch Keeper can also be tried in a web browser, at illuminationdevelopment.com/try-stitch-keeper. It is the same app built for the web, and it sends less than the phone version: no ads, no analytics and no crash reports. It has no project photos.
Your projects, counters and saved setups are kept in that browser's own storage. They are not sent to us, and they do not follow you to another browser or device. Clearing the site's data in your browser deletes them, as does Delete my data in its Settings. The only thing it sends us is a support message, and only if you fill one in and press send.
To draw text, the browser fetches the Roboto typeface from Google
(fonts.gstatic.com). So Google receives your IP address and browser
details with that one request. The page the demo sits in is part of this website, and
the website's own analytics apply to it as described below.
A note about this web page
The app does not display this page. Tapping Privacy Policy in Settings opens it in the device's browser, and this website uses Google Analytics to see which pages people find useful. That is described in the general policy, and it applies to your visit to this page, not to your use of the app.
Changes to this policy
If any of this stops being true, this page changes before the version that changes it reaches either store. The App Store privacy label and Google Play Data safety form change with it. Revisions are posted here with an updated date.
Contact
Email: privacy@illuminationdevelopment.com
You can also reach us through our contact and support page.