Protected customer data (Level 1): order ids are stored as keyed HMACs, order numbers
and ids for admin links as AES-256-GCM ciphertext (DATA_ENCRYPTION_KEY). New public
/terms page with processor terms; privacy policy links to it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
shopify app config link replaced shopify.app.toml with the new app's bare config.
Kept the new client_id and extension uids; restored the name/handle, app proxy,
all webhook subscriptions incl. GDPR compliance topics, and api_version 2026-10.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rust discount function (one automatic discount evaluating all offers in priority
order, parity with the Odoo engine), React Router admin with Polaris, theme app
extension and app proxy pages, webhooks incl. GDPR, managed-pricing limits, and
a Docker Compose stack (Postgres + Caddy HTTPS) for a single VPS.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>