Legal
Privacy Policy
1. Introduction
LogoNuri ("we", "us", "our") operates this service. This Privacy Policy explains what data we collect, how we use it, and your rights regarding that data.
The short version: we never upload your image in order to process it. Anything that does leave your device is something you explicitly chose to save, publish, or send — such as cloud sync, a public brand kit, or AI generation. We otherwise collect only the minimum data needed for authentication and billing.
2. Data We Collect
When you create an account or use authenticated features, we collect:
- Email address — Used for passwordless magic link authentication and service notifications.
- Stripe customer ID — Created when you first start a checkout. Stored in our database to manage your subscription.
- Session cookie (
ll_session) — A functional authentication cookie. The token is SHA-256 hashed before storage. - Saved project metadata — Projects are saved locally in your browser (IndexedDB) and do not reach our servers; the Free tier keeps 1 such project. Cloud sync is a Pro feature. If you are on Pro and sync a project, we store a project identifier, name, and settings in our database, and the project's asset files in Cloudflare R2 object storage scoped to your account. Pro accounts sync up to 100 projects.
- Published brand kit data — If you (as a Pro user) publish a brand kit to a public URL, the selected assets are uploaded to Cloudflare R2 and a record (slug, brand name, view count, status) is stored in our database. Depending on what you choose to include, those assets can be
logo.svg, key PNGs, palette metadata, a social preview image, a branded QR code image, and a short 3D animation of your logo. Anything you publish is available to anyone who has the link. You can revoke a share at any time from the app. Revocation takes the page and asset URLs offline immediately; stored files are then deleted in the background with automatic retries — but revoking cannot retract a copy someone already downloaded. - Canva connection tokens — If you connect a Canva account to enable direct export, we store OAuth access and refresh tokens associated with your account. Tokens can be revoked by disconnecting from the app or by revoking access from Canva.
- Push notification subscriptions — If you opt in to push notifications, we store the browser-provided push endpoint, public keys (
p256dh,auth), and user-agent string so we can deliver notifications. You can unsubscribe at any time from your browser or the app. - Bug report submissions — If you submit a bug report through the app, the report contents are forwarded to our GitHub issue tracker (which is public). A hashed record is retained for rate limiting and duplicate detection. Do not include personal or sensitive information in bug reports.
- Request metadata — IP addresses and a short-lived anonymous device fingerprint are used strictly for rate limiting and abuse prevention. Rate limit records are keyed by minute-bucket and automatically deleted after one hour. Device fingerprints are not used for tracking or advertising.
3. Data We Do NOT Collect
Your images are never transmitted to our servers for processing.
All logo processing — vectorization, background removal, color extraction, favicon generation, AI super-resolution — happens 100% client-side in your browser using WebAssembly and Web Workers. There is no endpoint that accepts your image for processing, and you could disconnect from the internet after the page loads and these tools would still work.
Some optional features do reach the network, and only ever with something you chose to provide:
- Cloud sync (Pro) and publishing a brand kit upload the selected asset files to your account. Both are opt-in and deletable at any time.
- Importing from a URL and the website screenshot tool send the address you type to our server so the page can be fetched. We transmit the URL, not a file from your device.
- AI logo generation sends your prompt and your own API key from your browser directly to OpenAI — not through us.
- Export integrations, if you connect one, transmit the assets you choose to export to that third party.
We also do not collect:
- Individual user profiles or cross-site behavioral tracking data — our analytics are cookieless and aggregate only (see section 6)
- Third-party tracking or advertising cookies
- OpenAI API keys — the optional AI Logo Maker uses a bring-your-own-key (BYOK) flow. If you choose to save your key, it is stored in your browser's local storage on your own device; it is sent directly from your browser to OpenAI and is never transmitted to or stored on our servers. You can clear it at any time from the AI panel or by clearing site data.
4. How We Use Your Data
- Authentication — Your email receives magic links for passwordless sign-in.
- Billing — Your Stripe customer ID links your account to your subscription for payment processing.
- Session management — The
ll_sessioncookie maintains your authenticated state. - Project sync — Saved projects and published brand kits are stored so you can resume work across devices or share via public URL.
- Third-party exports — Stored Canva OAuth tokens are used solely to push assets to your Canva account when you initiate an export.
- Push notifications — Stored push subscriptions are used only to deliver notifications you have opted in to (e.g., long-running batch completion).
- Rate limiting & abuse prevention — IP addresses and device fingerprints protect the service from automated abuse.
5. Third-Party Services
We share limited data with the following third parties, each governed by their own privacy policies:
- Stripe — Processes payments. Receives your email address and payment information.
- Resend — Sends transactional email. Receives your email address to deliver magic links.
- Cloudflare — Hosts the application, CDN, D1 database, R2 object storage, and edge compute infrastructure.
- Cloudflare Browser Run — Optional. If you use the website screenshot capture in the OG image tools, the URL you type is sent to our server and loaded in Cloudflare's isolated headless browser (a subprocessor) to produce the screenshot. Only the URL is transmitted; anonymous captures are not tied to an account.
- Canva — Optional. If you connect a Canva account to enable direct export, we authenticate with Canva via OAuth and transmit generated assets when you initiate an export.
- OpenAI — Optional. The AI Logo Maker calls OpenAI directly from your browser using a bring-your-own-key (BYOK) flow. Your prompt and API key are sent from your browser to OpenAI; neither is transmitted to or stored on our servers.
- GitHub — If you submit a bug report through the app, the report contents are forwarded to our public GitHub issue tracker.
6. Cookies
We use a single cookie:
| Name | Purpose | Duration | Flags |
|---|---|---|---|
ll_session |
Authentication | 30 days | HttpOnly, SameSite=Lax, Secure (production) |
We do not use tracking cookies, third-party cookies, or advertising cookies.
Aggregate analytics
We use Umami, a cookieless, open-source analytics tool that we host ourselves — your visit data is not sold or handed to an advertising network. It records page views and a small set of named interactions (starting a tool, downloading a result, opening an FAQ, following a link into the app) so we can tell which tools are worth maintaining. It sets no cookies, stores no persistent identifier, and does not follow you across other websites. Reports are aggregate; we cannot use them to identify you.
7. Data Retention
- Sessions — Expire after 30 days. Expired sessions are deleted via periodic cleanup.
- Magic links — Expire after 15 minutes. Expired records are deleted within 1 day.
- Rate limit records — Keyed by minute-bucket and deleted when older than 1 hour.
- Device fingerprints — Short-lived, used for abuse prevention only, deleted on the same schedule as rate limit records.
- Stripe event IDs — Stored for 7 days for webhook idempotency, then automatically deleted. Contains only the event ID and timestamp (no personal information).
- Website screenshots — Captured screenshots are cached and reused for up to 24 hours, and deleted within 48 hours.
- Saved projects — Retained until you delete the project or your account.
- Published brand kits — Retained until you revoke the share or delete the project. Revoked slugs are retained for a short period so they can be reclaimed by the same user, then fully deleted.
- Canva tokens — Retained until you disconnect Canva from the app or delete your account.
- Push subscriptions — Retained until you unsubscribe, the browser invalidates the endpoint, or you delete your account.
- Bug report records — Public GitHub issues are retained at GitHub's discretion. Our internal rate-limit records for bug reports follow the standard rate-limit retention.
- Dynamic QR codes — The short code, its destination URL, an optional label, and a lifetime redirect counter are retained until you deactivate the code. Deactivated codes are kept in a deactivated state permanently so a printed code can never be taken over by another account; they stop redirecting immediately.
- QR scan events — When someone follows a dynamic QR code, we record a redirect event with a coarse device category (mobile / tablet / desktop), the country code provided by our edge network, and — when a browser sends one — the referring site's hostname only. No IP address is ever stored: abuse rate-limiting uses a keyed one-way hash of the scanner's IP that we cannot reverse, and the hash buckets themselves expire within the hour. Raw scan events are deleted after 90 days; per-day totals (a number per code per day) are kept so your lifetime trend survives.
- Account data — Retained while your account is active.
Scan counts are honest — they are redirect hits, not verified human scans: we do not fingerprint, deduplicate, or bot-filter the people who scan your codes, precisely because doing so would require tracking them.
8. Data Deletion
You may request deletion of your account and all associated data by contacting us at support@logonuri.com. Upon request, we will delete your email address, Stripe customer ID, sessions, saved projects and associated R2 assets, published brand kits, Canva tokens, push subscriptions, and the scan analytics attached to your dynamic QR codes. The codes themselves are permanently deactivated rather than deleted (so printed material can never be redirected by anyone else), retaining only the code value itself. Bug reports that have already been forwarded to our public GitHub issue tracker remain subject to GitHub's retention; we can only remove the LogoNuri-side rate-limit records for those submissions.
9. Children's Privacy
LogoNuri is not directed at children under the age of 13. We do not knowingly collect personal data from children under 13. If you believe we have inadvertently collected such data, please contact us and we will promptly delete it.
10. International Data
Your data is processed on Cloudflare's global edge network. By using LogoNuri, you consent to the processing of your data in the jurisdictions where Cloudflare operates.
11. Changes to This Policy
We may update this Privacy Policy from time to time. Changes will be posted to this page with an updated effective date. For material changes, we will notify you via the email address associated with your account.
12. Contact
If you have questions about this Privacy Policy, contact us at support@logonuri.com.