{"id":"nte-cloudflare-deployment-recovery","path":"/advertising/cloudflare-deployment-recovery.json","textPath":"/advertising/cloudflare-deployment-recovery.txt","lastReviewedAt":"2026-06-02","productionSite":"https://ntequicktools.pages.dev","projectName":"ntequicktools","latestKnownBlocker":"The latest non-interactive deploy attempt could not fetch a Cloudflare auth token. Wrangler requires a private CLOUDFLARE_API_TOKEN-style environment variable for non-interactive Pages deploys.","summary":{"deploymentFreshnessRequiredBeforeSponsorSend":true,"privateDeployTokenRequiredForCodexDeploy":true,"privateDeployTokenStoredPublicly":false,"privateDeployTokenAllowedInNextPublicEnv":false,"thisPacketProvesProductionFreshness":false,"firstDollarProven":false,"currentRevenueClaim":"none"},"requiredPrivateEnvVars":["CLOUDFLARE_API_TOKEN","CF_API_TOKEN","CLOUDFLARE_TOKEN"],"commands":{"build":"NEXT_PUBLIC_SITE_URL=https://ntequicktools.pages.dev npm run build","deploy":"npm run deploy:cloudflare","productionCheck":"NEXT_PUBLIC_SITE_URL=https://ntequicktools.pages.dev npm run live:check","revenueReadiness":"NEXT_PUBLIC_SITE_URL=https://ntequicktools.pages.dev npm run revenue:readiness","sponsorSendReadiness":"NEXT_PUBLIC_SITE_URL=https://ntequicktools.pages.dev npm run sponsor:send-readiness"},"freshnessTargets":[{"path":"/advertising/sponsor-response-log-status.json","cacheBustedUrl":"https://ntequicktools.pages.dev/advertising/sponsor-response-log-status.json?qa=<timestamp>","mustMatchLocalStaticExport":true},{"path":"/advertising/send-readiness.json","cacheBustedUrl":"https://ntequicktools.pages.dev/advertising/send-readiness.json?qa=<timestamp>","mustMatchLocalStaticExport":true},{"path":"/advertising/status.json","cacheBustedUrl":"https://ntequicktools.pages.dev/advertising/status.json?qa=<timestamp>","mustMatchLocalStaticExport":true},{"path":"/media-kit.json","cacheBustedUrl":"https://ntequicktools.pages.dev/media-kit.json?qa=<timestamp>","mustMatchLocalStaticExport":true},{"path":"/growth/traffic-dashboard.json","cacheBustedUrl":"https://ntequicktools.pages.dev/growth/traffic-dashboard.json?qa=<timestamp>","mustMatchLocalStaticExport":true}],"ownerActions":["Create or expose a temporary Cloudflare API token only in the local shell, not in repo files, chat, screenshots, or NEXT_PUBLIC variables.","Run deploy:cloudflare from the verified local static export.","Run live:check against https://ntequicktools.pages.dev immediately after deployment.","Use a cache-busting query parameter when manually checking new JSON endpoints.","Do not send sponsor outreach or claim production freshness until live:check passes."],"safetyRules":["Do not store Cloudflare API tokens in public JSON, documentation, screenshots, or the repository.","Do not put private deploy tokens in NEXT_PUBLIC_* variables.","Do not claim traffic, sponsor payment, AdSense approval, affiliate commission, or first-dollar revenue from a successful deployment alone.","A production endpoint is fresh only after the deployed URL returns the expected marker and policy fields."],"purpose":"No-secret deployment recovery and production freshness gate for getting local revenue-loop changes onto Cloudflare Pages.","safetyNote":"This packet does not contain Cloudflare API tokens and does not prove deployment, traffic, clicks, sponsor payment, AdSense approval, or revenue."}