CrustLab Privacy Policy

Last updated: October 16, 2026

CrustLab is a pizza dough calculator and community app. This policy explains what data the app collects, how it is used, and how users can control or delete their account and associated data.

Data we collect

How we use data

Data sharing and processors

CrustLab does not sell personal data. The app uses service providers for hosting and network delivery through Cloudflare, email delivery, Google sign-in, Firebase Cloud Messaging, Firebase Analytics, Google Mobile Ads, Meta (Facebook SDK, with consent), image processing, virus scanning and server-side translation. These providers process data only as needed to provide the app.

Account and guest activity

While the app is in the foreground, CrustLab sends a coarse heartbeat no more than once every three minutes. Restricted administrators can see separate signed-in account and signed-out guest counts for the last five minutes and per UTC day, plus successful account login times and methods. For a signed-out visitor, the app creates a cryptographically random token that is replaced each UTC day. It is not derived from hardware, an advertising ID, an account or another device signal. The server stores only its keyed HMAC pseudonym for the current and previous UTC date; only aggregate guest totals remain for up to 400 days. Cloudflare derives an approximate two-character country code from the connection IP. CrustLab stores only that country code with daily activity aggregates for up to 400 days; the activity database does not store the request IP address, city, coordinates, internet provider or user-agent string. Country may be inaccurate when using VPN, Tor, mobile or corporate networks. A guest who later signs in may appear in both separate counts because CrustLab does not link the guest pseudonym to the account. Successful login events are retained for up to 180 days and authenticated daily activity for up to 400 days. Deleting an account removes its linked account activity earlier.

App section usage

To learn which parts of CrustLab are used most, the app counts, per UTC day, how many times each app section is opened and how many seconds it is on screen while the app is in the foreground. Sections come from a fixed list (for example feed, calculator, calculator guide, recipes, posts, bake journal, search, profile, notifications and settings). CrustLab does not record which posts, recipes or profiles you view, what you type or search for, your taps, your location or any device identifier for this purpose. The counts are sent together with the activity heartbeat described above.

When you are signed in, the counts are stored with your account and restricted administrators can see them per account and in totals. When you are signed out, they are only added to daily per-section totals with no token, pseudonym or country; the app keeps a note on your device of which sections it already reported that day, so a guest is counted once per section per day. This is CrustLab's own first-party statistic: it is not shared with third parties, not used for advertising, and works separately from the optional "Usage analytics" setting, which controls Firebase Analytics and Meta install measurement. We rely on our legitimate interest in improving the app. Usage counts are kept for up to 400 days, and deleting your account removes the counts linked to it. You can object or ask for a copy at [email protected].

Advertising and analytics

Firebase Analytics is disabled until the user explicitly allows it in the first-launch consent prompt. Users can later enable or disable optional usage analytics from the app's Settings screen. When enabled, Firebase Analytics processes app interaction and device/app information to measure usage and improve CrustLab. CrustLab does not send account IDs or email addresses to Analytics, and Analytics advertising-ID collection and advertising consent remain disabled. Turning analytics off stops future collection and resets local Analytics data. Google Mobile Ads is initialized separately, only after the advertising consent flow confirms that ads may be requested.

Allowing usage analytics also lets the Meta (Facebook) SDK report app installs and app launches to Meta Platforms Ireland Limited, so we can see which of our Facebook and Instagram ads bring new users. Meta receives these events with device and app information but without the advertising identifier (IDFA on iPhone, advertising ID on Android), and processes them under its own privacy policy. The legal basis is your consent. No events are sent before you allow usage analytics or after you turn it off, although the SDK may still fetch its own settings from Meta when the app opens, which, like any network request, shows Meta your IP address.

Public content

Public posts, public recipes, comments, profile username and avatar can be visible to other CrustLab users. Private recipes are available only to the account owner unless linked to a public post.

Reports are visible only to moderation tools and are used to review abuse, spam or safety issues. Blocking another user may affect what content is shown to you and how other users can interact with you.

Uploads and media safety

Uploaded photos may be checked for malware, decoded, resized, stripped of metadata and stored in a safer serving format. Post uploads are limited to keep the service stable, and comment uploads are limited separately.

Translation

When translation is used, text is sent to the CrustLab backend translation endpoint. The backend may use a configured translation provider and cache translated text to reduce repeated processing.

Security

Passwords are stored as one-way hashes. The mobile app does not store database, Google OAuth, translation provider or Firebase service account secrets. Uploaded images are decoded, resized, stripped of metadata and stored as JPEG files.

Access tokens and refresh sessions are used for login. Refresh sessions can be revoked server-side, including when a password is changed or an account is deleted.

Account deletion

You can delete your account in the app from Settings → Account settings → Account deletion. You can also use the public instructions at /account-deletion.

Account deletion removes the app account, login credentials, sessions, login, activity and app section usage records, notification device tokens, posts, comments, recipes, saved items, follows and associated uploaded media where technically available. Some minimal operational records may be retained for security, fraud prevention, troubleshooting, legal compliance or backups for a limited period.

Contact

Privacy and deletion requests: [email protected]