Hashed Customer Email Support

Purpose

Use customer.email_address_hash when you want a privacy-first approach in quote flows, where you avoid sharing PII while still supporting request correlation and operational support.

Doing this allows our support teams to process inbound questions from customers who provide us their email address, while keeping the email private until a purchase occurs.

Customer Email Fields

Use customer email fields as follows:

  • customer.email_address: email
  • customer.email_address_hash: SHA-256 hash of normalized email
  • Quote requests can use either field.
  • Purchase requests require customer.email_address.

Email Normalization Before Hashing

Normalize email before hashing:

  1. trim leading and trailing whitespace
  2. convert to lowercase
  3. hash the normalized value with SHA-256
  4. send the digest as lowercase hex

Hashing examples by language

import crypto from "crypto";

const input = "User@Example.com ";
const normalizedEmail = input.trim().toLowerCase();
const emailAddressHash = crypto
  .createHash("sha256")
  .update(normalizedEmail, "utf8")
  .digest("hex");

Example Requests

Example A: Hashed Email (API quote flow)

{
  "customer": {
    "email_address_hash": "b4c9a289323b21a01c3e940f150eb9b8c542587f1abfd8f0e1cc1ffc5e475514"
  },
  "policy_attributes": {
    "...": "..."
  }
}

Drop-in Component Usage

email_address_hash can also be used in Drop-in Component quote request objects.

Set it in the customer object for each product request inside product_config, using the same validation and normalization rules.

Example: Drop-in Component with Hashed Email

{
  "client_id": "test_...",
  "product_config": {
    "registration-cancellation": [
      {
        "customer": {
          "email_address_hash": "b4c9a289323b21a01c3e940f150eb9b8c542587f1abfd8f0e1cc1ffc5e475514",
          "first_name": "John",
          "last_name": "Doe",
          "state": "MN",
          "postal_code": "55414"
        },
        "policy_attributes": {
          "insurable_amount": 50000,
          "event_start_date": "2026-01-01",
          "event_end_date": "2026-01-01",
          "participant": {
            "first_name": "John",
            "last_name": "Doe"
          }
        }
      }
    ]
  }
}

On this page