Flashpoint.AIFlashpoint.AIdocs

GDPR & privacy

Flashpoint.AI provides built-in GDPR and CCPA compliance tools. Three operations cover the core data subject rights: lookup, export (Right to Access), and erasure (Right to Erasure).

All operations are team-scoped — a team can only manage data subjects within their own data. Every operation is recorded in the audit trail with the actor, timestamp, and outcome.

Subject lookup

Check whether a data subject exists in your team's data before initiating an export or erasure request.

GET /api/v1/gdpr/subjects/lookup?email=respondent@example.com
curl "https://surveys.flashpoint.ai/api/v1/gdpr/subjects/lookup?email=respondent@example.com" \
  -H "X-Service-Token: $TOKEN" \
  -H "X-Team-ID: $TEAM_ID" \
  -H "X-User-ID: $USER_ID"
{
  "found": true,
  "response_count": 3,
  "distribution_count": 5,
  "email_hash": "a1b2c3d4e5f6..."
}
FieldDescription
foundtrue if any responses or distribution records match
response_countNumber of survey responses linked to this email
distribution_countNumber of email distribution records for this address
email_hashOne-way hash of the email, used as the de-identified reference

The lookup does not expose full PII — only counts and the hash.

Right to Access (data export)

Export all data held for a data subject. Returns every survey response and distribution record associated with the given email address. GDPR Article 15 requires this to be fulfilled within 30 days of request.

POST /api/v1/gdpr/subjects/export
curl -X POST https://surveys.flashpoint.ai/api/v1/gdpr/subjects/export \
  -H "X-Service-Token: $TOKEN" \
  -H "X-Team-ID: $TEAM_ID" \
  -H "X-User-ID: $USER_ID" \
  -H "Content-Type: application/json" \
  -d '{"email": "respondent@example.com"}'
{
  "email_hash": "a1b2c3d4e5f6...",
  "surveys_participated": 2,
  "responses": [
    {
      "response_id": "r1a2b3c4-...",
      "survey_id": "s5d6e7f8-...",
      "status": "COMPLETE",
      "data": { "Q1": "3", "Q2": ["1", "4"], "Q3": "Great experience" },
      "country": "US",
      "started_at": "2026-05-20T14:00:00Z",
      "completed_at": "2026-05-20T14:08:32Z",
      "created_at": "2026-05-20T14:00:00Z"
    }
  ],
  "distribution_records": [
    {
      "email_list_id": "el1a2b3c-...",
      "survey_id": "s5d6e7f8-...",
      "status": "completed",
      "sent_at": "2026-05-19T10:00:00Z",
      "started_at": "2026-05-20T14:00:00Z",
      "completed_at": "2026-05-20T14:08:32Z"
    }
  ],
  "exported_at": "2026-05-26T12:00:00Z"
}

The export is audit-logged automatically — the requesting user, timestamp, and response count are recorded.

Right to Erasure (anonymization)

Anonymize all PII for a data subject. This operation is irreversible. GDPR Article 17 requires completion within 30 days.

POST /api/v1/gdpr/subjects/delete
curl -X POST https://surveys.flashpoint.ai/api/v1/gdpr/subjects/delete \
  -H "X-Service-Token: $TOKEN" \
  -H "X-Team-ID: $TEAM_ID" \
  -H "X-User-ID: $USER_ID" \
  -H "Content-Type: application/json" \
  -d '{"email": "respondent@example.com", "reason": "Data subject erasure request via support ticket #4821"}'
{
  "email_hash": "a1b2c3d4e5f6...",
  "responses_anonymized": 3,
  "distribution_records_anonymized": 5,
  "completed_at": "2026-05-26T12:01:00Z"
}
FieldDescription
responses_anonymizedNumber of survey responses where PII was cleared
distribution_records_anonymizedNumber of email records where the address was replaced with a hash
completed_atTimestamp of completion

How anonymization works

Erasure does not delete response data outright. Survey answers are retained for aggregate analytics (per GDPR Recital 26 — anonymous data is not personal data). Instead, Flashpoint.AI removes every field that could identify the individual:

On survey responses:

FieldBeforeAfter
ip_hasha1b2c3...null
countryUSnull
regionCalifornianull
citySan Francisconull
timezoneAmerica/Los_Angelesnull
email_tokentok_xyz...null
respondent_metadata{"browser": "Chrome", ...}{}
panel_data{"participant_id": "..."}{}
Answer data (data)PreservedPreserved
StatusPreservedPreserved

On distribution records:

FieldBeforeAfter
emailrespondent@example.comanonymized:a1b2c3d4...
tokentok_full_token_valuerevoked:tok_full

The email is replaced with an anonymized: prefix plus a truncated hash. The distribution token is revoked so the survey link can no longer be used.

Retention

  • Active surveys retain anonymized response data indefinitely for aggregate analytics.
  • Soft-deleted surveys preserve the audit trail (who created, published, deleted) but anonymization removes all respondent PII regardless of survey status.
  • Audit log entries for GDPR operations themselves are retained permanently as compliance evidence. They record the actor, action, and outcome but never store the original email — only the hash.