Version: 1.4 Effective date: 29 July 2026 Change from 1.3: added section 5a (identity verification) and extended section 10 with the right to human intervention.
The Controller of your personal data within the meaning of GDPR is:
WOLFIE PAWEล WITEK ul. Kolorowa 5/51, 02-495 Warszawa, Poland VAT ID: PL5223142076 Contact: [email protected]
| Category | Data |
|---|---|
| Identification | Email address |
| Authentication | Password hash (Argon2id โ plaintext is NOT stored), TOTP secret (2FA), recovery codes |
| Profile | First name (optional), UI language (en/pl), role in the system |
| Security | Last-login IP address, country (from IP geolocation), city, browser user-agent, device fingerprint, list of trusted devices |
| Audit | Login history (successful and failed), timestamps, IPs, countries, event type |
| Sessions | Active sessions (random session token, IP, user-agent, creation and last-active timestamps) |
| Links | List of Client Applications the user signed in to + mappings to local accounts (e.g. WP user_id, Perfex staff_id) |
| Purpose | Legal basis |
|---|---|
| Authentication service (SSO) delivery | Art. 6(1)(b) GDPR (contract) |
| Security, abuse detection, audit log | Art. 6(1)(f) GDPR (legitimate interest) |
| Handling inquiries and support requests | Art. 6(1)(f) GDPR |
| Fulfilment of legal obligations | Art. 6(1)(c) GDPR |
| Direct marketing (email) | Art. 6(1)(a) GDPR (consent) |
| Product analytics | Art. 6(1)(a) GDPR (consent) |
| Category | Period |
|---|---|
| Active account | Lifetime of the account |
| Login history (audit log) | 3 years (or longer if legally required) |
| Consent history and withdrawals | Lifetime of the account + 3 years after deletion (accountability principle โ Art. 5(2) GDPR) |
| Cookie-consent ledger (pre-login gate) | 3 years from the decision (append-only proof of consent under Art. 7(1) GDPR), mirrored to WolfieEye |
| Data after account deletion | Email replaced with SHA-256 hash, other personal data deleted. Audit log retained (as hashed reference) for 3 years. |
| Inactive sessions | Automatically deleted 14 days after last activity |
| Failed login attempts | 30 days |
| Marketing data | Until consent withdrawal or account deletion |
Your personal data may be transferred to the following categories of recipients:
We do NOT transfer data to:
The Service offers optional identity verification: confirming that an organisation is the entity it claims to be, and that a specific person stands behind it. You do not have to use it โ without verification you use the Service exactly as before.
The Controller never stores: scans or photographs of identity documents, selfies, liveness recordings, MRZ strings, full document numbers, national identifiers, dates of birth, nationality, biometric templates, or the verification provider's raw response.
This has a concrete legal consequence: a facial image processed for the purpose of uniquely identifying a person is biometric data under Article 9 GDPR. Because the Controller never collects such data, it processes no special categories of data and relies on no Article 9(2) condition. You present your document directly to the verification provider, which acts as a separate controller or as a processor on its own account and is bound by its own retention obligations.
| Category | Data |
|---|---|
| Outcome | Decision (pass / fail / review), a neutral reason code, a plain-language explanation |
| Level and provenance | The strength of the proof and its source (provider / public registry / manual grant by the operator / domain control) |
| Reference | The provider's case identifier โ lets us point at the evidence without holding it |
| Field agreement | Per field: whether name / tax ID / country match the source (the verdict only, never the compared values) |
| Document facts | Document type, issuing country, expiry date, an "over 18" boolean |
| Subject snapshot | Name, legal name, tax ID, VAT ID and country as at the moment of decision โ the attestation is about those specific values |
| Process trail | Who started it and when, who granted it manually, the stated reason, validity, revocation |
Optionally, and only where the Controller enables a dedicated encryption key, an HMAC digest of the document number is stored โ solely to detect that the same document has already verified a different account. The digest cannot be reversed to the number.
| Purpose | Basis |
|---|---|
| Running the verification at your request | Art. 6(1)(a) GDPR โ your consent, collected separately and withdrawable |
| Keeping the outcome as evidence of why we displayed a marker | Art. 6(1)(f) GDPR โ legitimate interest: preventing impersonation and defending claims |
| Raising service limits after verification | Art. 6(1)(b) GDPR โ performance of a contract |
Consent is collected before verification begins, naming the specific provider and its terms version. We store a digest of the consent text exactly as you saw it โ changing the provider or the wording triggers a fresh request for consent.
The identity verification provider โ only if the feature is enabled and a paid provider has been selected. The free sources currently used are not recipients of personal data in this sense: they are public business registries (the Polish Ministry of Finance VAT whitelist, the European Commission's VIES), queried about a business entity, not a natural person.
We apply a minimising mode by default: the full record for as long as the verification is valid, then 24 months after it expires or is revoked. After that the record is redacted to a tombstone โ only the identifier, level, provenance, status, decision date and an e-mail digest remain. Every identifying field is removed.
We do not default to the five-year retention that applies to obliged entities under anti-money-laundering law, because the Controller is not such an entity. Adopting a longer period "just in case" would create a data hoard with no Article 5(1)(e) justification.
On an erasure request we: (1) ask the verification provider to delete its copy, (2) redact our record to the tombstone described above, (3) reset the verification level. The tombstone remains under Article 17(3)(b) and (e) GDPR โ we must be able to answer on what basis we displayed a marker on a given date, and deleting the record entirely would turn an erasure request into a way of clearing one's history before verifying again. If the provider does not confirm deletion we say so โ we do not close the request as complete.
If you use the CDN/TLS provider (Cloudflare), your data may be processed in the USA based on Standard Contractual Clauses (Art. 46 GDPR). We do not transfer data to countries without adequate data protection.
As a data subject, you are entitled to the following rights:
Response time: up to 30 days.
Before you sign in, WolfieAuth shows a cookie-consent gate. It distinguishes two classes of cookies:
Your decision is recorded as an append-only proof-of-consent entry (date, time,
the categories you accepted, policy version, IP, user-agent) โ see ยง4 (retention)
and ยง5 (recipients) โ and remembered in the wolfieauth_cookie_consent cookie
so you are not asked again on the same browser. You can change or withdraw an
optional choice at any time (Settings โ Consents, or by emailing us โ see ยง7.7).
| Name | Type | Purpose | Period |
|---|---|---|---|
wolfieauth_admin |
Strictly necessary, HttpOnly, Secure, SameSite=Lax | Logged-in user session token | 8 hours |
wolfieauth_pending |
Strictly necessary, HttpOnly, Secure | State between password entry and 2FA | 10 minutes |
wolfieauth_real_admin |
Strictly necessary, HttpOnly, Secure | Retains super-admin session during impersonation | 8 hours |
wolfieauth_flow |
Strictly necessary, HttpOnly, Secure | PKCE/state during OIDC flow (only on Client Applications) | 10 minutes |
_oidc.session |
Strictly necessary, HttpOnly, Secure | OIDC provider session | 8 hours |
wolfieauth_cookie_consent |
Strictly necessary, HttpOnly, Secure | Remembers your cookie-consent decision so the gate isn't re-shown | 12 months |
We set no third-party advertising or cross-site tracking cookies. Analytics, if you opt in, is first-party and cookieless-capable (see ยง5).
We apply the following technical and organizational measures:
The Service performs one form of automated decision with legal effect: automatic account lock after 5 failed login attempts in a short time. The decision can be reversed by contacting the Provider.
Profiling for marketing purposes: we do not perform automated profiling for targeted advertising.
Email: [email protected] Subject line: [GDPR] + request description Response time: up to 30 days (extendable by 60 days for complex cases)
Data Protection Officer (DPO): not appointed, as processing does not require a DPO under Art. 37 GDPR.
Any change to this Privacy Policy will be announced:
For material changes (e.g. new processing purposes) re-acceptance of the Policy is required.
Version 1.3 โ effective: 14 June 2026
Changes in 1.1: documented the pre-login cookie-consent gate (necessary vs optional,
required-to-sign-in model), the wolfieauth_cookie_consent cookie, the WolfieEye
proof-of-consent mirror, and the cookie-consent ledger retention.
Changes in 1.2: added the opt-in "Share with third parties" consent category โ with
explicit consent only, usage/identity data may be shared with or sold to third-party
partners (ยง2.2, ยง5(6), ยง8.1); off by default, recorded, and withdrawable.
This Privacy Policy was prepared as a GDPR-compliant template. Before deployment for external users, consultation with legal counsel is recommended โ particularly regarding Section 5 (recipients), Section 6 (transfers outside the EEA), and Section 12 (DPO).