fix: disable GDPR compliance webhooks pending Protected Customer Data access
shopify app dev refused to push the 3 mandatory compliance-topic webhooks (customers/data_request, customers/redact, shop/redact) with "This app is not approved to subscribe to webhook topics containing protected customer data" — subscribing to these requires the org to first request and be granted Protected Customer Data Access in the Partner Dashboard, a manual approval step outside the CLI/config entirely. Commented out the three subscription blocks in shopify.app.toml (handlers are untouched and still fully wired) so dev can proceed now. README.md gets a new "Before public launch" section as the reminder to re-enable them once access is granted — this is a hard requirement for BfS/public submission per CLAUDE.md, not something to forget once dev is unblocked. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
e116a6c87a
commit
cc3303d318
13
README.md
13
README.md
@ -38,6 +38,19 @@ runs the BullMQ worker (jobs/worker.ts) once Phase 4 makes it do anything.
|
||||
| `npm run test:functions` | Real WASM build + `function-runner` tests for both Shopify Functions, against fixtures |
|
||||
| `npm run typegen:functions` | Regenerate `extensions/*/generated/api.ts` from each Function's `schema.graphql` + `.graphql` query (also runs automatically before `npm run typecheck`) |
|
||||
|
||||
## Before public launch
|
||||
|
||||
The 3 mandatory GDPR compliance webhooks (`customers/data_request`,
|
||||
`customers/redact`, `shop/redact`) are commented out in `shopify.app.toml`
|
||||
— Shopify refuses to push them until the org requests and is granted
|
||||
**Protected customer data access** in the Partner Dashboard (Apps → this
|
||||
app → API access → Protected customer data), which is a manual
|
||||
questionnaire/approval step. The handlers already exist and are fully
|
||||
wired (`app/routes/webhooks.customers.*.tsx`, `webhooks.shop.redact.tsx`) —
|
||||
once that access is granted, uncomment the three `[[webhooks.subscriptions]]`
|
||||
blocks near the bottom of the webhooks section. **Required before any
|
||||
public launch or Built-for-Shopify submission** — don't ship without it.
|
||||
|
||||
## Status
|
||||
|
||||
Phase 0 (scaffold & CI) through Phase 4 (enforcement Functions +
|
||||
|
||||
@ -40,21 +40,28 @@ api_version = "2026-10"
|
||||
uri = "/webhooks/orders/cancelled"
|
||||
topics = ["orders/cancelled"]
|
||||
|
||||
# Mandatory GDPR compliance topics — required for Built-for-Shopify / public app review.
|
||||
# Handled by: app/routes/webhooks.customers.data_request.tsx
|
||||
[[webhooks.subscriptions]]
|
||||
uri = "/webhooks/customers/data_request"
|
||||
compliance_topics = ["customers/data_request"]
|
||||
# Mandatory GDPR compliance topics — required for Built-for-Shopify /
|
||||
# public app review. TEMPORARILY DISABLED: `shopify app dev`/`deploy`
|
||||
# refuses to push these until the org has requested and been granted
|
||||
# "Protected customer data access" in the Partner Dashboard (Apps ->
|
||||
# this app -> API access -> Protected customer data) — that's a manual
|
||||
# questionnaire/approval step, not something the CLI or config can
|
||||
# bypass. RE-ENABLE these three blocks (handlers already exist and are
|
||||
# wired: app/routes/webhooks.customers.data_request.tsx,
|
||||
# webhooks.customers.redact.tsx, webhooks.shop.redact.tsx) once that
|
||||
# access is granted, and before any public launch/BfS submission.
|
||||
|
||||
# Handled by: app/routes/webhooks.customers.redact.tsx
|
||||
[[webhooks.subscriptions]]
|
||||
uri = "/webhooks/customers/redact"
|
||||
compliance_topics = ["customers/redact"]
|
||||
# [[webhooks.subscriptions]]
|
||||
# uri = "/webhooks/customers/data_request"
|
||||
# compliance_topics = ["customers/data_request"]
|
||||
|
||||
# Handled by: app/routes/webhooks.shop.redact.tsx
|
||||
[[webhooks.subscriptions]]
|
||||
uri = "/webhooks/shop/redact"
|
||||
compliance_topics = ["shop/redact"]
|
||||
# [[webhooks.subscriptions]]
|
||||
# uri = "/webhooks/customers/redact"
|
||||
# compliance_topics = ["customers/redact"]
|
||||
|
||||
# [[webhooks.subscriptions]]
|
||||
# uri = "/webhooks/shop/redact"
|
||||
# compliance_topics = ["shop/redact"]
|
||||
|
||||
# App proxy so the storefront Theme App Extension can call our backend
|
||||
# without CORS issues (see IMPLEMENTATION_PLAN.md §5.3). `shopify app dev`
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user