# Storefront product → license tier mapping. # # Each storefront has its own product/variant IDs. The webhook # handler looks up (source, product_id) in this file to decide # what to mint. Unknown product IDs are an error (audit row gets # error="unmapped product", no license created — the operator # fixes the mapping and replays). # # After editing this file, `docker compose restart api` to reload. gumroad: # Fill in real Gumroad product_ids once SKUs exist. Until then the # examples below are placeholders that the test suite uses. - product_id: "datatools-lite" tier: lite years: 1 - product_id: "datatools-core" tier: core years: 1 - product_id: "datatools-pro" tier: pro years: 1 # Future storefronts slot in as siblings: # # lemonsqueezy: # - product_id: "12345" # tier: core # years: 1 # # stripe: # - product_id: "prod_xxx" # tier: pro # years: 1