Quizzy data and privacy

Updated November 12, 2026. These rules sit alongside our Terms of Service at quizzy.click/tos.html.

Question processing

While answering, Quizzy sends question text, choices, and relevant image pixels to its configured Cloudflare Worker. The Worker sends a fixed, bounded request to OpenAI using the publisher's key with `store: false`. OpenAI's data policies still apply; this flag does not promise zero provider retention. PopSauce captures exclude room chat and other controls. Kahoot/Blooket screenshot fallbacks can include other visible game content. No question request is made simply by installing the extension.

BombParty suggestions use only the bundled dictionary and temporary match exclusions on the device. No AI question requests are sent for BombParty. The realism level is stored as an extension preference.

Quizzy archives submitted game attempts in D1: request/account ID, game and game day, UTC timestamps and client timezone, question/prompt, choices, relevant question image pixels (stored once per image hash), submitted guess, explicit game outcome, revealed/canonical answer when available, and Krillion rarity/score when the game supplies them. Successful and unsuccessful attempts are retained for later review. This archive is not used to choose answers, change prompts, or train a model. A game result is client-reported observation, not independent server verification.

Context/images for questions with no recorded attempt are removed after 24 hours. Context/images associated with observed attempts remain until account deletion or a retention request; cached AI responses still expire after 24 hours. Worker logs do not intentionally include images, raw prompts, or observation contents. Failed observation uploads are queued in trusted extension local storage and retried. The mini game's screenshots are held only in extension session memory and are not uploaded to the archive; only the question image sent for solving is archived.

Identity and credentials

Firebase Authentication handles anonymous guest identities, email/password, verification/reset emails, and Google sign-in. Firebase's browser persistence on the website lets a guest reconnect after an ordinary extension reinstall. Clearing website data or changing browsers can remove this continuity.

Email/password accounts must open an email verification link before connecting the extension or spending tokens. New verified-account rewards require Firebase's signed verified-email claim and are limited to one claim per normalized email address.

The website and extension use separate opaque backend sessions. The extension stores its session in Chrome storage restricted to trusted extension contexts. Game content scripts receive preferences and a balance summary, not authentication tokens. Firebase tokens are exchanged through the website; extension handoff codes are one-use, expire quickly, and require a matching PKCE verifier and exact redirect.

OpenAI keys, Stripe secrets, Turnstile secrets, and the Google Analytics API secret live only in backend secret bindings. Quizzy does not ask for or store your own OpenAI key. Public Firebase web configuration is an application identifier, not an administrative credential.

Accounts, credits and payments

D1 stores Firebase user ID, email/verification state, Stripe customer/subscription identifiers, trial claims, allowances, reservations, usage spend, payment references, and webhook deduplication records. Stripe hosts checkout and payment-method management; Quizzy does not receive full card details. Firebase, Cloudflare, OpenAI, and Stripe process data under their respective policies.

PopSauce answer checks read only the current player's matching guess and its accepted/rejected state in the game frame. A confirmed rejection is reported with the original answer request to restore its question tokens once. Refund audit records store the request, account, source allowance, token amount, reason, and timestamp. API spend remains counted. The backend checks ownership, eligibility and duplicate claims, but does not independently verify a third-party game's client-side result.

Kahoot refund checks read the visible Correct/Incorrect result label and round identifiers for the answer submitted by Quizzy. A rejected answer report includes its request ID and original choice indices. The service records which requests originated from Kahoot to distinguish them from other choice-based games. It applies the same one-time refund and retained API-spend rules.

Trials are limited using Turnstile and short-lived salted IP counters. The application hashes the incoming IP with a backend salt for the counter key and does not intentionally write raw IP addresses to D1. Turnstile and hosting providers can process IP and device/browser information themselves. A hashed normalized email claim prevents a repeated signup reward after deleting/recreating an identity.

Local settings and controls

Chrome stores model selection, game preference, panel position, collapsed/settings state, Blooket automation preference, the usage-stats preference, and the random analytics install ID. Accounts and balances are server-owned. Blooket Full Auto can inspect the current prize choices and game balance already held in the page's React state to rank reward boxes. This inspection is read-only, stays in the browser, and does not read answer keys or send reward metadata to the service. Auto/Full Auto act only while running; refreshing a game starts paused. Collapsing the panel keeps automation running. Stopping discards pending clicks but cannot undo provider processing or an answer already sent to a game.

The existing extension requests broad host access to capture game screenshots, read question media, and work with JKLM game frames. It does not intentionally inspect unrelated tabs for question processing. The debugger permission maintains active game sessions for background scheduling, trusted input, target-tab question capture, and the local miniature. It does not activate the game tab. Sessions end after stopping and completing bounded result observation.

When the optional Debug monitor is enabled, the extension displays server-selected prompts, public streamed answer text, request timing, and provider token usage in the current game tab. The latest 20 requests and 120 activity entries are retained only in that tab's memory until cleared or refreshed. Provider credentials and authentication headers are not included. Images are omitted from the debug request display. Private internal model reasoning is not exposed.

Sign-out and deletion

Sign-out revokes the current backend session and clears that client's session state. Use the website's Delete account control after a recent sign-in to cancel future subscription billing, revoke balances/sessions, remove the stored email, and delete the Firebase identity. Archived observations and question contexts for that account are deleted; unreferenced image pixels are removed. Minimal financial records, used-trial hashes, blocked identity references, and usage audit records remain to prevent duplicate credits and support financial reconciliation. Provider records follow their own policies. A failed Firebase deletion after backend deletion may require signing into Firebase again to finish removing that identity.

For account or billing issues and retention requests, use the support page at quizzy.click/support.

Website usage analytics

The Quizzy website uses Google Analytics 4 to measure page views and clicks on its Chrome Web Store links. Its fonts are served from Quizzy itself; sign-up and trial checks load Cloudflare Turnstile. Website Analytics uses browser cookies and connects directly to Google, which can process browser and network information under its own policies. Advertising personalization and Google signals are disabled. The website sends a page address without its query string or hash, and does not send form values, account IDs, email, authentication tokens, quiz content, or archived observations as Analytics event parameters.

Use Usage analytics in the website footer to stop future collection from that browser. Website collection also respects Global Privacy Control. Previously received Google Analytics data follows the property's retention settings. Chrome Web Store listing analytics are collected separately by Google.

Extension usage analytics

The extension sends anonymous usage counts to Google Analytics 4 through the Quizzy backend: installs and updates (with the previous version), which supported game Quizzy was started in, Auto or Full Auto being turned on, how an account was connected (guest, Google or email), and whether each AI answer request was answered, skipped or failed (with the model choice, an error code and the response time). Each event carries the extension version, a random install ID generated on your device, and a session number based on the time a usage session started. Events never include question text, answer choices, images, answers, account IDs, email addresses or authentication tokens. The backend forwards only these allowlisted fields and does not pass your IP address to Google; Google may process the received events under its own policies, with advertising personalization disabled.

Turn off "Share anonymous usage stats" in the Quizzy panel settings to stop sending these events. Previously received data follows the Analytics property's retention settings.