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_hashHashed identifiers
email_domainDomain only (e.g. gmail.com)
plan, currency, transaction_amountBusiness context
form_name, lead_sourceAttribution
customObject with safe string/number/boolean values