ZoomInfo
ZoomInfo FormComplete - Pre-Submission Email Capture via Browser Autofill
Summary
ZoomInfo's FormComplete product captures email addresses from form fields before users click submit, including data populated by browser autofill. The script monitors input field changes and immediately transmits emails to ZoomInfo servers for validation, without any user submission action.
BTSS Score Breakdown
Technical Details
Code Evidence
FormComplete input monitoring (conceptual reconstruction)
// formcomplete.js attaches to all inputs
document.querySelectorAll('input').forEach(input => {
input.addEventListener('change', function(e) {
const value = e.target.value;
if (isEmail(value)) {
sendToZoomInfo(value, formId);
}
});
input.addEventListener('blur', function(e) {
const value = e.target.value;
if (isEmail(value)) {
sendToZoomInfo(value, formId);
}
});
});
Sardine.ai biometrics configuration (decoded from base64)
{
"loaderInitTime": 1764084620894,
"enableBiometrics": true,
"enableDNS": true,
"revision": "2025-10-28-d4021d2",
"origin": "https://www.zoominfo.com",
"collectorDomain": "frapi.zoominfo.com",
"dBaseDomain": "d.sardine.ai"
}
Network Evidence
https://ws.zoominfo.com/formcomplete-internal/getNeverbounce{"email":"clark@deployronin.com","formId":"79afc4d1-7040-4e49-945c-57ba17399b28"}This request was captured during a visit to zoominfo.com/products/gtm-studio. The email was NOT submitted - it was browser autofill. No form was completed. The email was immediately transmitted and validated against NeverBounce.
https://collector-pxosx7m0dx.px-cloud.net/api/v2/collectorPerimeterX fingerprinting - fires BEFORE consent
https://*.d.sardine.ai/bg.png?h=...Sardine.ai fingerprinting pixels (7 simultaneous requests)
Attack Parallel: Form Grabbers (Banking Trojans)
Zeus, SpyEye, and other banking trojans use "form grabbing" to intercept credentials before they reach legitimate servers. The technique hooks form events, captures input values, and exfiltrates data. FormComplete uses the identical technique: hook input events, capture email values, exfiltrate to ZoomInfo servers. The only difference is FormComplete is a "legitimate" product sold to enterprises.
ReferenceFramework Mappings
Legal Touchpoints
No lawful basis for processing. Capturing autofilled data without any user action cannot be based on consent (no action = no consent) or legitimate interest (too intrusive, not expected by users).
Consent must be freely given, specific, informed, and unambiguous. Autofill capture meets none of these criteria.
Right to know what personal information is collected. Users have no idea their autofilled email is being captured and validated.
Requires consent for accessing information stored on user equipment. Monitoring form field values to capture autofill data is accessing information from the user's browser.
Prevalence
- ZoomInfo's own website
- Enterprise customers using FormComplete product
Reproduction Steps
## Reproduction Steps 1. **Open Chrome DevTools** on the Network tab 2. **Enable "Preserve log"** to capture all requests 3. **Visit** https://www.zoominfo.com/products/gtm-studio 4. **Let browser autofill** populate any form fields - Do NOT click submit - Do NOT type anything manually 5. **Search Network tab** for "formcomplete" or "neverbounce" 6. **Observe**: Your autofilled email was transmitted without action ## What to Look For - POST to `ws.zoominfo.com/formcomplete-internal/getNeverbounce` - Request body contains `"email": "your@email.com"` - This happens WITHOUT clicking submit
Remediation
Remove FormComplete script if deployed
Effort: trivialAudit all form handling scripts for pre-submit capture
Effort: moderateImplement consent-first form tracking
Effort: significant