No description
Find a file
justin 14357a0223 fix(nginx): unblock public API routes powering lead tools/flows (HC sales killer)
api.performancewest.net uses an explicit per-path allowlist; everything else
falls through to a trusted-IP-only catch-all that returns 403. Six browser-
facing routes had no location block, so they 403'd for every public visitor:

  /api/v1/npi/                 <- THE healthcare sales killer. The 'Free NPI
                                  Compliance Check' tool (top of the HC funnel,
                                  where every HC campaign sends traffic) fetches
                                  /api/v1/npi/lookup. It 403'd -> CORS error in
                                  the browser -> the tool never rendered results
                                  or the upsell CTAs (Revalidation $399 / NPPES
                                  $149 / Bundle $899) -> 0 HC sales despite 17
                                  sessions reaching it in 30d and 0 HC orders
                                  EVER created in the compliance DB.
  /api/v1/cdr/                 telecom CDR profile tool
  /api/v1/icc/                 intrastate/ICC profile tool
  /api/v1/corp/                corporate foreign-qual check
  /api/v1/foreign-qualification/   foreign qualification quote/jurisdictions
  /api/v1/lnpa-regions         LNPA region lookup

Added explicit proxy_pass blocks (mirroring the existing entities/identity
pattern) before the catch-all. Verified live: all six now reach the app with
proper CORS; the NPI tool renders results + order CTAs end-to-end via a real
browser; npi-revalidation order page -> Stripe confirmed.

The live /etc/nginx/sites-enabled/pw-api.conf was hand-edited and untracked;
committing the current state here so it is version-controlled. (Live backup:
/root/pw-api.conf.bak_20260623.)
2026-06-23 15:51:30 -05:00
.claude/projects/-home-justin-projects-performancewest-new-site/memory Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
api mail: DMARC aggregate-report parser + dedicated dmarc@ mailbox ingestion 2026-06-19 08:50:20 -05:00
chrome-extension/fcc-access-helper Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
data fix(email): drop @TrackLink from per-subscriber CTAs (404 + collapse bug) 2026-06-22 17:01:39 -05:00
docs fix(email): drop @TrackLink from per-subscriber CTAs (404 + collapse bug) 2026-06-22 17:01:39 -05:00
docserver docserver: self-healing Task Scheduler config + docs 2026-06-15 22:49:21 -05:00
erpnext build: pin payments to version-15 + stage apps in deploy.sh erpnext 2026-06-02 23:13:01 -05:00
frappe_adyen Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
frappe_ca_registry Fix flagged items: CRTC email submission, BITS todo, selector docs, stale plans 2026-05-04 11:33:45 -05:00
frappe_crypto Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
infra fix(nginx): unblock public API routes powering lead tools/flows (HC sales killer) 2026-06-23 15:51:30 -05:00
mcp Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
monitoring fix(monitoring): render alertmanager.yml from template at deploy (fixes crash loop) 2026-06-07 04:49:53 -05:00
node-compile-cache/v25.1.0-x64-392347a2-1000 Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
performancewest_erpnext fix(erpnext): self-heal outgoing Email Account password from SMTP_* env 2026-06-17 09:48:28 -05:00
scripts fix(trucking-email): route order CTAs to the correct service page (not $399 catch-all) 2026-06-23 15:19:23 -05:00
site fix(intake): HC checkout 400 — resolve customer email/name from intake_data 2026-06-23 13:40:19 -05:00
src Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
test_screenshots Pivot CRTC offering on FCC carrier page for A-Z wholesale carriers 2026-06-02 13:26:39 -05:00
.gitignore gitignore: stray personal image 2026-06-10 12:35:56 -05:00
CLAUDE.md Update CLAUDE.md with complete deployment guide, infrastructure map, and key patterns 2026-04-28 02:54:44 -05:00
deploy.sh fix(deploy): hard-reset to origin/main + assert HEAD advanced (stop silent strands) 2026-06-16 09:25:11 -05:00
docker-compose.dev.override.yml dev: remap api(3002)/site(4323) ports in override to avoid prod collision on shared host 2026-06-05 23:07:22 -05:00
docker-compose.yml campaigns: MAIN_EXCLUDE_OPERATORS override + Gmail-only exclusion for post-DKIM re-send 2026-06-22 07:35:22 -05:00
extract-erpnext-assets.sh portal: serve /files/ (logo) from stable host path, fix recurring 403 2026-06-02 22:18:30 -05:00