Skip to content

Add identity gdpr erasure - #1804

Open
jamessnowplow wants to merge 2 commits into
mainfrom
feat/identity-erasure
Open

Add identity gdpr erasure#1804
jamessnowplow wants to merge 2 commits into
mainfrom
feat/identity-erasure

Conversation

@jamessnowplow

@jamessnowplow jamessnowplow commented May 26, 2026

Copy link
Copy Markdown
Contributor

What changed?

Added identity erasure docs.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented May 26, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
documentation 2c65693 Commit Preview URL

Branch Preview URL
Aug 21 2026, 09:45 AM

@claude

claude Bot commented May 26, 2026

Copy link
Copy Markdown

Documentation style review

A few items to address — mostly minor, plus one merge-blocker the author already flagged.

1. "fulfil" → "fulfill" (US spelling)

"to fulfil a GDPR right-to-erasure request"
"to fulfil GDPR right-to-erasure requests"
"To fulfil the request, you must also delete..."
description: "Erase a user's entries from the Snowplow Identities graph to fulfil a GDPR right-to-erasure request."

CLAUDE.md → Writing style: "Use US English spelling." The US form is fulfill (double L). Replace each instance in docs/identities/erasure/index.md (intro, warning admonition, "Make an erasure request" intro, and the frontmatter description).

2. Bold used for non-UI emphasis

  • 100 combined inputs (identifiers plus snowplow_ids)
  • 256 KB request body

CLAUDE.md → Grammar and formatting: "Use bold only for UI elements (buttons, page titles)." The style guide reinforces this (bold = buttons, page titles, tabs, menus). These are values, not UI elements — drop the bold:

- 100 combined inputs (`identifiers` plus `snowplow_ids`)
- 256 KB request body

3. Pending "do not merge" gate

{/* TODO: do not merge this page to main until Console > Identities > Overview surfaces the API URL referenced in the Authenticate section. */}

Outside pure style scope, but worth surfacing: the author has marked the page as not-ready-to-merge until Console exposes the API URL the Authenticate section sends readers to find. Either resolve that dependency or convert this into a draft/hold before merge. Also remove the comment once the gate clears.

4. Minor: heading voice

## Fulfilling GDPR erasure requests (in docs/identities/index.md)

CLAUDE.md → Headings and organization: "Prefer imperative voice." Consider ## Fulfill GDPR erasure requests (and fix the spelling per item 1).


Otherwise the page is well-structured: frontmatter is complete, internal links use absolute paths ending in /index.md, H2 count is within range, terminology (entity, identity graph, lowercased concepts) matches the guide, and the request/response examples are consistent between dry-run and real-erasure sections. No external URLs were added that needed link-checking.

@jamessnowplow
jamessnowplow force-pushed the feat/identity-erasure branch from 88680be to 6d5aa80 Compare May 26, 2026 10:52
@jamessnowplow
jamessnowplow force-pushed the feat/identity-erasure branch from 6d5aa80 to 321e0e0 Compare August 21, 2026 08:58
@jamessnowplow
jamessnowplow marked this pull request as ready for review August 21, 2026 08:58
@greptile-apps

greptile-apps Bot commented Aug 21, 2026

Copy link
Copy Markdown

Greptile Summary

Adds documentation for previewing and executing GDPR erasure requests against the Identities graph.

  • Describes deletion scope, authentication, request and response formats, limits, and error handling.
  • Links the new erasure guide from the main Identities documentation.

Confidence Score: 4/5

The invalid Snowplow ID examples should be corrected before merging because customers copying either request can fail to erase the intended identity.

Both executable examples pass a UUID as snowplow_id, contradicting the Identities schema’s required sp_-prefixed format and making the documented erasure workflow unreliable.

Files Needing Attention: docs/identities/erasure/index.md

Important Files Changed

Filename Overview
docs/identities/erasure/index.md Adds the complete erasure API guide, but its request and response examples use UUIDs where the documented Snowplow ID schema requires sp_-prefixed IDs.
docs/identities/index.md Adds a valid introductory link to the new erasure guide.

Fix all with Greploop Fix All in Claude Code

Reviews (1): Last reviewed commit: "Add identity gdpr erasure" | Re-trigger Greptile

Comment thread docs/identities/erasure/index.md Outdated
{"type": "user_id", "value": "alice@example.com"},
{"type": "user_id", "value": "nobody@example.com"}
],
"snowplow_ids": ["550e8400-e29b-41d4-a716-446655440000"],

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Invalid Snowplow ID format

When a customer copies either erasure request, the UUID-formatted snowplow_id contradicts the documented ^sp_[A-Za-z2-7]{26}$ schema, causing the request to target an invalid ID and fail to erase the intended identity. The corresponding response examples repeat the same invalid format.

Fix in Claude Code

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 2c65693. Both requests and both response bodies now use sp_-prefixed IDs matching the ^sp_[A-Za-z2-7]{26}$ pattern on the identity 2-0-0 entity. The truncated ... forms in the responses are gone too, so every ID on the page is copyable as-is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant