Minna Mirror

Privacy policy

Operator and collected information

Penguin Engine operates Minna Mirror. Contact support@mimirror.jp about personal information. We store the creator’s nickname, assessment title, random account identifiers, 16-question responses and self-responses, timestamps, purchase entitlements and hashed transaction identifiers. We do not ask respondents for names, email addresses or contact details. A random browser ID helps prevent duplicate responses. Recovery codes are stored as hashes.

Google and email-link sign-in

Firebase Authentication processes Google identity and profile information, including email, and email-link authentication. Login links are sent by Firebase. No password is created or entered in this app. When opening a link, you confirm the email address that received it; another device is supported. The app does not put the email address or recovery code in the continue URL or save them in localStorage. The database links the Firebase UID to your records; it does not merge records merely because email addresses match. Account deletion also requests removal of the Firebase authentication user. Diagnosis-specific notification contacts remain separate. For account recovery we store the requesting Firebase UID, hashed link identifier, candidate record identifiers, optional context, request status and the operator’s verification audit. These are used for ownership checks and support and removed with the associated account. Do not enter passwords, codes or answers.

Assessment notifications

If a creator opts in, we send a setup email to the supplied notification address. After recipient confirmation, we notify them for every chosen number of new responses. The interval must be a positive integer and can be changed or disabled from My Records. Counting restarts when the interval changes. No advertising, other assessments, results, responses, recovery codes or open-tracking pixels are included. Onamae.com handles delivery. Contacts are removed on opt-out, collection end, account deletion or repeated delivery failure, with possible cleanup delay. Earlier one-time notices retain their original consent: removal after delivery or 30 days. Upgrading to recurring notices requires fresh consent and recipient confirmation.

We save the browser language at account registration and use it across sign-in links, setup and assessment emails. Supported languages are Japanese, English, Korean, Simplified Chinese and Traditional Chinese; other languages fall back to English. Historical accounts without a saved language use Japanese. To limit abuse, hashed addresses and request counts are retained for up to one day for assessment mail or one hour for sign-in mail, plus cleanup delay. Provider delivery logs and recipient inbox copies may remain. All emails include guidance for unrequested messages.

Purposes and visibility

We use data for aggregation, providing the owner’s results, verifying purchases, preventing abuse and responding to reports or support requests. Only aggregates of 3 or more responses are shown. Differences between successive results may allow inferences; complete anonymity is not guaranteed. Anyone with a response URL can see the creator’s nickname and assessment title.

Storage, retention and deletion

Assessment data is stored in Google Cloud’s Tokyo region. Responses close one year after creation. Past records remain viewable. Results remain until account deletion. Delete through Web app settings or the support page. Assessments, responses and sessions are removed. Unlinked transaction hashes and purchase identifiers remain during service operation to prevent reuse. Purchased results cannot be recovered after deletion. Daily database backups are retained for seven days for disaster recovery. Deleted data and notification contact details may remain in existing backups for up to seven days. Backups are not used for ordinary access or advertising and expire after retention. Point-in-time recovery is not enabled. Data may be lost during failures. Google and Stripe retain data for their own safety and legal purposes under their policies and may process information outside Japan.

Cookies, logs and abuse controls

A 5-day Firebase HttpOnly cookie maintains sessions and is invalidated by logout or deletion. Recovery codes are not stored in browser localStorage. Browser storage holds the language preference and random respondent ID. IP addresses support abuse controls; operational logs are normally retained for 30 days. Requests containing response URLs are excluded from ordinary access logs. Hashed IPs and attempt counts enforce a 15-minute recovery-attempt window and are removed by periodic cleanup after expiry. These are not used for advertising.

Payments, coupons and advertising

Stripe handles payment details and any email entered at checkout. Our server does not receive card numbers or send assessment responses to Stripe. We keep checkout-to-purchase associations. Coupon hashes, issuance and redemption records prevent reuse; plaintext coupon codes are not stored in the database. Deleting an account removes its coupon entitlement but the used-code ledger remains while the service operates. Public pages use Google AdSense as described below. Assessment responses are not used for ad targeting.

Account security

Earlier recovery codes are used only to verify transfer to your signed-in account: do not share them or put them in email. If a code is lost, an answer link can help the operator locate a record, but recovery requires independent ownership verification and is not guaranteed. Google privacy policy: https://policies.google.com/privacy . Stripe privacy policy: https://stripe.com/privacy .

2026-10-30

Website analytics

We use Google Analytics (GA4, linked to Firebase) to improve the service. Cookies and similar technologies send page categories, page views, referring domains, and device and browser information to Google. We do not send assessment answers, nicknames, assessment titles, email addresses, recovery codes, or invitation identifiers to Analytics. URL queries and fragments are removed; individual assessment and invitation pages use generic route names. Advertising personalization and Google signals are disabled. We show our own banners and do not serve external ads. Google processes information under its privacy policy. Use the button below to disable or enable analytics in this browser. Browsers with Global Privacy Control enabled are not measured.

Access protection and advertising

To reject reuse after sign-out, we retain a session-cookie hash for up to five days plus cleanup delay, never the cookie itself. Hashed account identifiers or combinations of IP/IPv6 network and action target, with counts, limit excessive sign-ins, creation, invitations, responses and reports. Limits last 15 minutes or one hour plus cleanup delay. Tabs exchange only a sign-in state-change signal, never responses or credentials.

Google AdSense code is installed on public landing, guidance and fictional sample pages. It is excluded from sign-in, response, personal result and notification-setting pages, and suppressed on public pages with a login cookie. Loading the code or ads may send IP address, visited page, device/browser information and cookies to Google for advertising, measurement and abuse prevention. Assessment responses are not used for ad targeting. Ad availability depends on Google approval and consent settings. You can manage personalization in Google Ad Settings.

Google · Google Ad Settings

Google Analytics (GA4)

In addition to page views, fixed event names measure sample and guide views, example selection, creation-button clicks, assessment creation, response starts and completions. Events exclude names, emails, answers, results, record IDs and invitation URLs. Disabling analytics in this browser also disables these events.