Shield · Data collection
Exactly what the SDK collects
Field-level transparency, per privacy mode — and the hard list of what is never read or transmitted.
Collected
By privacy mode
Always (all modes)Event name + timestamp; page URL, path, title, referrer; UTM parameters; session ID; SDK version.
balanced / advancedVisitor ID (cookie); browser language, timezone, screen/viewport; form metadata (field types, counts, button text category); allowlisted customer context.
advanced onlyExtended device consistency signals; touch support detection.
The FindIP backend adds enrichment the SDK never touches: visitor IP, ASN, geolocation, VPN/proxy/Tor/hosting/malicious flags, risk score and recommendation.
Never collected
In any mode, under any configuration
CredentialsPasswords or payment card numbers.
Form valuesFull form input values — values are never read.
IdentifiersRaw email addresses, phone numbers, names, physical addresses.
Behavior captureKeystrokes, mouse movements, screenshots, full DOM content.
Form metadata example
Structure only — never values
{
"field_count": 5,
"has_email_field": true,
"has_password_field": true,
"has_phone_field": false,
"has_payment_field": false,
"has_message_field": false,
"submit_text_type": "signup"
}Customer context allowlist
The only fields FindIP.track() accepts
user_id_hash, email_hash | Hashed identifiers |
email_domain | Domain only (e.g. gmail.com) |
plan, currency, transaction_amount | Business context |
form_name, lead_source | Attribution |
custom | Object with safe string/number/boolean values |