{
  "app": "campaign-copilot",
  "workerName": "campaign-copilot",
  "phase": "30-screen-by-screen-product-polish",
  "runtime": "cloudflare-worker-hosted-product",
  "ready": false,
  "readyToDeploy": false,
  "privateAppRoutesWired": true,
  "fullAppHosted": true,
  "privateCockpitAvailable": true,
  "message": "Cloudflare Worker (Phase 30-screen-by-screen-product-polish). Status JSON is public (no campaign data). Private product under /__private/* requires PRIVATE_UI_ON_WORKER=true + a cryptographically verified Cloudflare Access JWT (JWKS RS256; CF_ACCESS_AUD + CF_ACCESS_TEAM_DOMAIN via Wrangler; fails closed when unset). Hosted D1 marketer path + SF/UTM.io/Cloudinary/Jira dry-run shells (no HTTP create). externalWrite=false. Production remains NO.",
  "bindings": {
    "d1Binding": "CAMPAIGN_DB",
    "r2Binding": "CAMPAIGN_EXPORTS",
    "d1Present": true,
    "r2Present": true
  },
  "safeRoutes": [
    "/",
    "/health",
    "/__worker-status"
  ],
  "privateCockpitRouteCount": 76,
  "privateCockpitRoutesListed": false,
  "privateCockpitRoutesNote": "Access-gated private route inventory omitted from public status (use docs / private UI)",
  "accessHeadersPresent": false,
  "privateUiFlagEnabled": true,
  "launchDoc": "docs/phase-30-screen-by-screen-product-polish.md",
  "deploymentDoc": "docs/cloudflare-deployment-prep.md",
  "liveWrites": {
    "externalWriteAllowed": false,
    "note": "Dry-run/live-shell only — Worker does not perform platform network creates/uploads/sends"
  }
}