Full scan purchases (October 2, 2026)

Coins and recurring free coin delivery have been retired. Historical grant, expiry, reservation, email-delivery and purchased-balance records remain subject to their existing retention and account-deletion rules. We retain a ledger entry for any one-time conversion of remaining purchased balances into whole Full scans. This does not create an advertising or email subscription.

When you choose a Full scan purchase, we process your account ID, Stripe purchase references, accepted terms version, scan transactions, image fingerprints and completed scan results to fulfil the contract and prevent duplicate charges. We do not send your images, critiques or prompts to Stripe. Refunds and disputes adjust your purchased access.

Where a purchase follows a recorded first-party offer exposure, we attach its pseudonymous visitor reference to Stripe payment metadata to count confirmed purchases against that offer. This reference contains no image, critique, email or upload name. This measurement follows the first-party product measurement rules below; optional PostHog tracking requires analytics consent.

When you open the scan offers, sign in or pay with an image selected, the prepared image, surface and feedback language are temporarily saved in this browser's IndexedDB so you can return to it. Buying a Full scan does not start it automatically. No image is required to buy a scan. The copy is recoverable for 30 minutes, deleted after a successful scan, or deleted the next time an expired copy is encountered. Clearing site data removes it sooner. This storage supports the purchase you requested and is separate from optional analytics.

Paid result text is also held for purchase recovery; deleting the associated history result removes that recovery copy. Account deletion removes the app's credit wallet, scan copies and ledger. Stripe may separately retain transaction records under the billing retention rules below. Optional PostHog tracking remains consent-gated; no images or free-text critiques are included in purchase analytics. See the purchase terms.

TOYORNOT.com Legal

Privacy Policy (GDPR)

Last updated: October 15, 2026

1. Controller

The controller details are provided in the Impressum.
Email: toyornot.com@gmail.com
Phone (optional): +4915567138522

2. Data We Process

3. Purposes and Legal Bases (Art. 6 GDPR)

4. TOYORNOT Plus Billing and Stripe

If you buy TOYORNOT Plus, checkout and recurring billing are handled through Stripe. We process billing-status records and Stripe references so we can activate TOYORNOT Plus, restore billing state, handle cancellations, respond to payment issues, and show you the correct subscription status in the app. Full payment card details are collected and processed by Stripe and are not stored by us.

TOYORNOT Plus no longer offers new Plus previews. If an account still has legacy Plus preview metadata, we store bounded entitlement metadata such as the preview source, grant timestamp, and expiry timestamp only to honor or expire that existing access, show the correct account status, resolve support issues, and maintain operational records.

To reduce waiting, we may load Stripe's payment components while a Full scan offer is visible after a result. For eligible signed-in visitors, we also prepare an unpaid checkout using the account reference and receipt email. This preparation also happens when you open the purchase page for the selected offer. It does not accept terms, make a payment, or send your image or feedback to Stripe. We record the required terms version and acceptance when you confirm payment for a Full scan or Plus, before asking Stripe to process it. We also keep billing-notice audit records so we can show whether a purchase confirmation, cancellation confirmation, or later pricing/terms notice was sent, skipped, or failed.

Where billing email delivery is configured, transactional billing emails are sent through Resend. These emails can include contract-summary information, cancellation confirmation details, and support contact information. The billing support address currently used by the site is toyornot.com@gmail.com.

5. Optional Browser Reminders

If you choose an optional browser reminder, we store the reminder preference and one or more browser push-subscription records so we can deliver the reminder on the next local day after you hit the relevant free limit. Rating limit-reset reminders are account-bound for signed-in free accounts. Lesson reminders have been retired and no longer send notifications. Legacy lesson preferences and subscription records remain stored separately until deleted under the retention policy. Browser notification permission is requested by your browser and can be revoked there at any time. Reminder delivery is skipped when your refreshed quota has already been used, when your account has TOYORNOT Plus access, when reminders are disabled, or when no active push subscription remains for the reminder owner.

6. Optional Lifecycle Emails

The optional email box starts unchecked before Google sign-in. Email opt-in is not required to scan or buy. The purchase sign-in flow does not ask for marketing email consent. If you choose to check it, we use the email address returned by your authenticated Google account to record your email preference. The consent record is separate from cookie analytics consent and from browser push-reminder preferences. While the email program is active, opted-in accounts can receive occasional lifecycle emails such as practice reminders after several days without rating activity, product updates, retention messages, and legacy time-sensitive Plus-preview reminders before an existing preview ends. Free coin-drop emails have ended, including queued deliveries. Existing email preferences are not automatically expanded or re-enrolled. These sends are limited by per-account eligibility rules and cooldowns. Every lifecycle email contains a per-account unsubscribe link and supports one-click unsubscribe headers, and we keep a per-email send log to suppress duplicate sends and document delivery. You can withdraw email consent for future processing at any time by using the unsubscribe link in any lifecycle email, or by contacting us at the privacy address below.

7. Optional Sharing

If you choose to use the optional sharing flow, you decide whether to post outside this site. We do not connect to your social-media account or post on your behalf.

8. Legacy Public Leaderboard Data

Public leaderboard posting has been retired. New posts are not accepted, and historic entries are no longer publicly served.

Historic metadata may remain linked to the underlying rating history entry until you delete that rating or clear your history, or until we remove it for moderation, legal, abuse-prevention, or data-maintenance reasons. Third parties may have viewed, cached, or copied content while the feature was public.

9. Third-Party Services and Transfers

Requesting a scan sends the prepared image, selected feedback language, and relevant scan information to OpenRouter and its AI model and hosting providers for automated analysis, including a retry when needed. Selecting or cropping an image alone does not send it to these AI providers. This processing is needed to perform the scan you request (Art. 6(1)(b) GDPR); accepting the Terms is not blanket consent to unrelated uses of personal data. Upload only content you are entitled to submit for this analysis, and avoid including people or personal information that is not needed to assess the graffiti.

Basic scans send the prepared graffiti image and selected feedback language through OpenRouter to Google's Gemini Flash Lite model. Full and Plus scans use OpenAI's GPT-6 Sol model to decide eligibility, assign the score and four-word verdict, and produce detailed feedback in one assessment. The public rate-share API uses the same Sol flow in English. Eligible upstream hosting providers, including Microsoft Azure for the OpenAI models, process these requests. We require routing to endpoints designated by OpenRouter as having zero data retention and disable provider data collection for these rating requests. This does not change the site's own history, cache, or other retention practices described below; providers may use transient in-memory processing, and OpenRouter retains operational request metadata.

Live scan routing does not authorize the AI providers to independently publish your image or use the request to train their models. OpenRouter does not store image, prompt, or response content unless input/output logging or sharing is enabled; we require those options to remain disabled for the service account. Zero-data-retention routing applies to eligible inference endpoints, not to ToyOrNot's history and cache or OpenRouter's operational request metadata. It also does not guarantee processing within the EEA. The recipient categories and safeguards in this section apply when the underlying provider changes; an unrelated purpose or materially different data practice requires the appropriate notice and lawful basis before it starts.

This site may use third-party processors, including cloud hosting, Supabase for authentication and data storage, Stripe for checkout, payment processing, recurring billing, and billing portal management, Resend for transactional billing-email delivery and opt-in lifecycle email delivery when configured, optional analytics infrastructure such as PostHog when consented, and model/API providers for rating, model improvement, prompt development, model training, and model evaluation. If personal data is transferred outside the EEA, we rely on appropriate safeguards such as EU Standard Contractual Clauses where required.

10. Retention

11. Your Rights

Under GDPR, you may have rights to access, rectification, erasure, restriction, portability, and objection, plus the right to withdraw consent at any time for future processing. You also have the right to lodge a complaint with a supervisory authority, especially in your EU member state of residence. Signed-in users can delete individual rating-history entries or clear rating history in Your pieces. Those controls delete the score/result entry and any judged-image and thumbnail variants that have not already expired. Contact the privacy address below for broader account-erasure requests or if the in-product controls are unavailable.

12. Contact for Privacy Requests

Send privacy requests to: toyornot.com@gmail.com