Commit graph

  • 2c4854f2db hc tracking: fix listmonk-hc app.root_url (was localhost:9000 -> zero views) to public domain + enable individual tracking; verified pixel records views justin 2026-06-06 16:40:22 -05:00
  • 6738a335af infra: nginx vhost for listmonk-hc admin portal (lists-hc.performancewest.net -> 127.0.0.1:9101, LE cert) justin 2026-06-06 07:02:50 -05:00
  • 2aa9e770c9 healthcare email: add color variety - amber warning box (urgency) + red overdue date + green price/CTA, breaking up the all-teal look into a problem->relief->action color story justin 2026-06-06 04:58:44 -05:00
  • 8eea9a694f healthcare email: add 'About Performance West' explainer (regulatory compliance consulting firm) after the no-logins relief copy justin 2026-06-06 04:57:42 -05:00
  • 0d212787ef healthcare email: add 'No logins. No portals. No headaches.' value-add (sells the relief, hides the mechanics); research doc on verified no-login third-party submission paths justin 2026-06-06 04:53:26 -05:00
  • 53ec011198 email trust signals: add data-safety + guarantee + social-proof strip to HC, telecom (campaign_template), and trucking (6 source + active campaigns via injector). Vertical accents: teal/blue/orange justin 2026-06-06 04:13:16 -05:00
  • 95698852ce healthcare warmup: gate Google/Workspace domains out of week 1 (they hard-reject cold IPs 550-5.7.1); send 501 non-Google practice domains first, defer 222 Google to week 2-3; cron uses hc_warmup_nongoogle.csv justin 2026-06-06 04:02:00 -05:00
  • 2bc86268f7 healthcare: HC warmup campaign cron (Mon-Fri 7AM Central) - imports overdue-first verified slice into listmonk-hc + runs Medicare-revalidation campaign via hc HOT stream; rate-throttled by pw-hc-rampcap justin 2026-06-06 03:57:08 -05:00
  • 2d3bccd31e healthcare email: white logo for teal header (was dark navy, invisible); drop NPPES-source footer line justin 2026-06-06 03:48:04 -05:00
  • 29c7a421e9 healthcare email: teal gradient header (matches site hero) + standalone CSV MX/SMTP verifier (binds .72 non-sending IP); gitignore PII warmup lists justin 2026-06-06 03:39:19 -05:00
  • 5129ebec5c healthcare email: add List-Unsubscribe/List-Id/Date/Precedence bulk headers to improve inbox placement on the cold hc IPs justin 2026-06-06 03:31:22 -05:00
  • 3859557506 healthcare: +$200 across all 6 provider services; add segmented marketing email builder (5 compliance-problem campaigns) + rendered HTML justin 2026-06-06 02:33:46 -05:00
  • 9bcd27db80 feat(site): vertical-specific order-page headers (trucking/telecom/healthcare/corporate) via unified VerticalOrderHeader; apply to all 49 order pages; retire TruckingOrderHeader justin 2026-06-06 01:52:22 -05:00
  • 695c3e2431 security: drop all CBC TLS suites (Qualys WEAK -> AEAD-only, still A+); sync ansible nginx templates (ciphers + ywxi CSP); capture host firewall as IaC justin 2026-06-06 00:49:21 -05:00
  • 113c73b392 feat(site): meter TrustedSite trustmark to order+healthcare pages only (free tier 500 impr/mo); auto-detect by path; CSP allows cdn.ywxi.net feat/npi-healthcare-products justin 2026-06-06 00:32:46 -05:00
  • 780b4219d3 feat(site): stage TrustedSite trustmark slot (opt-in prop) + setup doc; CSP/verification steps pre-documented justin 2026-06-06 00:27:02 -05:00
  • af0b1d2306 feat(site): wire TrustStrip site-wide (Base layout); fix homepage trust strip (SecurityHeaders A not A+) + add SOC2/HIPAA-PCI badges justin 2026-06-06 00:25:59 -05:00
  • 5526fb79b9 security: harden nginx TLS ciphers (drop SHA-1 CBC -> HIPAA/NIST clean, still A+); document ImmuniWeb free badge + PCI/HIPAA/NIST/GDPR compliance justin 2026-06-06 00:22:59 -05:00
  • 6121c0a6f4 security: harden VM - nft+DOCKER-USER firewall closing public exposure of postgres/k8s/forgejo/listmonk/apis; remove inbound :25 (send-only); docs justin 2026-06-06 00:18:02 -05:00
  • 60ec4599b9 feat(site): add TrustStrip component (legitimately-earned trust seals: SSL Labs A+, Security Headers A, Stripe PCI, TLS/HSTS, SOC 2 datacenter) justin 2026-06-06 00:12:23 -05:00
  • 68333148e6 fix(npi): two-tier Direct/HISP classifier so real Direct-Primary-Care/counseling practices stay institutional (was wrongly parked); add classifier unit tests justin 2026-06-06 00:09:42 -05:00
  • c3b2c4e89a hc-email: prod listmonk_hc installed + 3 SMTP servers + rampcap cron; end-to-end validated to Gmail via .107-.109 justin 2026-06-05 23:12:03 -05:00
  • 7d61b4aad4 dev: remap api(3002)/site(4323) ports in override to avoid prod collision on shared host justin 2026-06-05 23:07:22 -05:00
  • 61dac80dc6 hc-email: PTR/FCrDNS for hc IPs (.107-.109 -> hcmta01-03) done + SPF/DKIM/DMARC verified justin 2026-06-05 23:01:34 -05:00
  • 8c51fa4b99 docs: record dual-stream implementation status + remaining DNS/prod steps justin 2026-06-05 19:22:02 -05:00
  • 90d8b94f3f feat(email): wire listmonk-hc into deploy + dev override + hc ramp-cap justin 2026-06-05 19:19:45 -05:00
  • 08d5132459 feat(email): add listmonk-hc second instance for the healthcare HOT stream justin 2026-06-05 19:18:35 -05:00
  • 70d742df08 feat(mta): healthcare HOT-stream Postfix setup (dedicated hc IPs, isolated) justin 2026-06-05 19:07:02 -05:00
  • 289c3b91be feat(healthcare): split outreach list into 3 outbound streams justin 2026-06-05 18:59:44 -05:00
  • 54a342059b docs: lock dual-stream email decisions + verified institutional audience size justin 2026-06-05 18:57:18 -05:00
  • 40090da1dd docs: plan dual-stream outbound email (healthcare-hot + trucking-trickle) justin 2026-06-05 18:51:05 -05:00
  • 4f49fad7f9 deploy: bring up the healthcare proxy-relay sidecar on prod and dev justin 2026-06-05 18:41:09 -05:00
  • a79d6b1906 feat(healthcare): add gost proxy-relay so Chromium can use the residential proxy justin 2026-06-05 18:39:26 -05:00
  • 4060fd7562 fix(proxy): parse proxy creds with URL-reserved chars (e.g. '#') correctly justin 2026-06-05 18:34:19 -05:00
  • 17318f6e7d feat(healthcare): route NPPES/PECOS Playwright flows through residential SOCKS proxy justin 2026-06-05 14:36:01 -05:00
  • bd9a70607f fix: maintain Services dropdown header from one canonical source justin 2026-06-05 14:27:24 -05:00
  • 695ace207c Reframe healthcare filing as standard vs expedited; e2e test + bug fixes justin 2026-06-05 03:58:46 -05:00
  • 5cfe9702e2 Add Healthcare/NPI section to nav dropdown across all static pages justin 2026-06-05 03:05:19 -05:00
  • e212f20a34 Add CMS-855 PDF filler + e-sign fulfillment for Medicare revalidation/enrollment justin 2026-06-05 02:27:11 -05:00
  • 31a53f89a6 feat(npi): offer paper CMS-855 path (e-sign + we mail to MAC) alongside I&A surrogacy justin 2026-06-05 01:53:44 -05:00
  • e32193352b fix(npi): lenient CSV decoding in companion loader (CMS exports have stray latin-1 bytes) justin 2026-06-05 01:38:02 -05:00
  • 157c7a2571 test(npi): add slug consistency check across all wiring places justin 2026-06-05 01:35:04 -05:00
  • 4b0155542e feat(npi): healthcare marketing pages, nav dropdown, NPI lookup API + free tool + companion data migration/loader justin 2026-06-05 01:33:36 -05:00
  • f349d519c6 feat(npi): add NpiIntakeStep wizard + 6 healthcare order pages justin 2026-06-05 01:26:58 -05:00
  • e67db156e8 feat(npi): wire 6 healthcare services into catalog, intake, items, handlers, portal justin 2026-06-05 01:25:05 -05:00
  • 8748c0a141 docs: NPI/healthcare products implementation plan justin 2026-06-05 01:21:58 -05:00
  • 73e09b12a0 feat: NPI outreach list pipeline (120k cold-emailable + 236k DirectTrust-later) + doc justin 2026-06-05 01:08:26 -05:00
  • 091ebbd7f9 docs: verified free NPI email-append paths (NPPES endpoint file + free SMTP/MX verify) justin 2026-06-05 01:00:54 -05:00
  • 604ad151c7 docs: add verified NPI services/pricing + companion-db analysis (217k overdue revalidations) justin 2026-06-05 00:57:09 -05:00
  • 2db2106ad5 docs: add postcard print-and-mail vendor pricing (Lob verified, PostGrid/Click2Mail quote-gated) justin 2026-06-05 00:38:41 -05:00
  • 5e4e73674a docs: verify NPPES + EPA RCRA field schemas against live files justin 2026-06-05 00:34:56 -05:00
  • 70d05e0607 docs: new compliance sectors (NPPES/FMC/EPA) + contact channels beyond postal mail justin 2026-06-05 00:25:51 -05:00
  • 8400e27d12 Add DOT check CTA to trucking deficiency emails justin 2026-06-04 18:29:01 -05:00
  • 327c4c9790 Use DOT checker hero on trucking order pages justin 2026-06-04 13:32:17 -05:00
  • fcb56a4707 Simplify paid intake review flow justin 2026-06-04 13:05:21 -05:00
  • 74acda7171 Add trucking order page trust header justin 2026-06-04 13:01:56 -05:00
  • 40d5643116 Fill trucking campaign quotas with sendable subscribers justin 2026-06-04 12:36:22 -05:00
  • e5e70b744b Guard bounce watcher against empty queue IDs justin 2026-06-04 12:33:53 -05:00
  • c027d49f43 Fix trucking campaign cron send date justin 2026-06-04 03:19:35 -05:00
  • b48fc3a406 Retire burned MTA IPs in warmup script justin 2026-06-03 23:37:27 -05:00
  • f42833cc9d Set trucking campaign Reply-To header justin 2026-06-03 23:35:28 -05:00
  • ef79e85b41 Align trucking source campaign placeholder list justin 2026-06-03 23:32:53 -05:00
  • 5c35140a22 Configure trucking deficiency campaign cron env justin 2026-06-03 23:04:41 -05:00
  • 72da37e47d fix: simplify order price banner copy justin 2026-06-03 14:02:55 -05:00
  • 965b9ce3c8 fix: add tax deductibility notice to trucking orders justin 2026-06-03 13:48:37 -05:00
  • ee07064b0f fix: show trucking order prices and payment options justin 2026-06-03 13:24:40 -05:00
  • d7de818f39 fix: stagger trucking campaign catchups and subscriber reattach justin 2026-06-03 13:21:16 -05:00
  • 6d4c323ab6 feat: daily intake-reminder worker for paid orders with incomplete intake justin 2026-06-03 00:20:37 -05:00
  • 00c960f5b5 build: pin payments to version-15 + stage apps in deploy.sh erpnext justin 2026-06-02 23:13:01 -05:00
  • 5c1341e6a1 portal: fix dead set-password link (rename controller to underscore) justin 2026-06-02 23:10:36 -05:00
  • 668fc6783b compose: give ERPNext CUSTOMER_JWT_SECRET + DATABASE_URL (fix portal drift) justin 2026-06-02 23:02:58 -05:00
  • f6419759e6 portal: converge all compliance orders on the single ERPNext portal justin 2026-06-02 22:44:34 -05:00
  • 2b13c36c93 ansible: sync portal nginx template with live working config justin 2026-06-02 22:20:08 -05:00
  • dcea3c29bb portal: serve /files/ (logo) from stable host path, fix recurring 403 justin 2026-06-02 22:18:30 -05:00
  • c5e6bdbe6d deploy: fix recurring portal CSS breakage from ERPNext asset hash drift justin 2026-06-02 22:12:33 -05:00
  • f21f3d41d9 DOT D&A binder: remove Performance West and National Drug Screening from vendor directory justin 2026-06-02 22:02:07 -05:00
  • 843a5bfacb DOT D&A binder: add DER Quick-Start checklist, two-column vendor directory, flow sections justin 2026-06-02 21:54:06 -05:00
  • 501e417584 DOT D&A binder: add Section 11 — Practical Guidance for the Administrator justin 2026-06-02 21:42:55 -05:00
  • b569a32f3a DOT D&A binder: add driver enrollment guidance + Form G roster justin 2026-06-02 21:39:50 -05:00
  • 7c79cc9a08 DOT D&A delivery email: point CTA + body to the customer portal justin 2026-06-02 21:37:01 -05:00
  • 9718ab9ffa DOT D&A binder: editable DOCX output, all 6 forms each full-page, service-aware delivery email justin 2026-06-02 21:27:44 -05:00
  • 06e59965cc DOT D&A: instant PDF compliance-program binder (49) justin 2026-06-02 19:28:58 -05:00
  • 058d7cfbfe docs: trucking state-campaign send runbook justin 2026-06-02 16:51:08 -05:00
  • 29ad0908ee trucking: pass-through fee disclosure + state fulfillment status machine justin 2026-06-02 16:49:31 -05:00
  • 7ed06780bb trucking: stamp e-signature exactly on form signature lines + state authorization gate justin 2026-06-02 16:44:19 -05:00
  • 345979ed00 Allow multiple referral codes per sales agent justin 2026-06-02 14:44:22 -05:00
  • 53857574d3 Add referral/discount code to FCC carrier page + REF-JAYK05 agent justin 2026-06-02 14:31:22 -05:00
  • 1584a6692b Pivot CRTC offering on FCC carrier page for A-Z wholesale carriers justin 2026-06-02 13:26:39 -05:00
  • c9d76545b3 intake: guard hoisted ResellerCertStep script justin 2026-06-02 13:21:27 -05:00
  • 539fad1396 intake: guard hoisted history/revenue step scripts justin 2026-06-02 13:19:48 -05:00
  • bb3604c97b intake: guard category/officer/jurisdiction step scripts when hoisted justin 2026-06-02 13:16:48 -05:00
  • 4e916821c6 intake: guard hoisted EntityStep script on non-entity pages justin 2026-06-02 13:14:45 -05:00
  • 0fe8ce53ac intake: guard hoisted step scripts against absent DOM justin 2026-06-02 13:12:40 -05:00
  • 219507ce74 intake: fix hoisted payment-step null error and success nav cleanup justin 2026-06-02 13:08:47 -05:00
  • d0d39ebcbc intake: validate cold ?dot= orders before checkout (fix 422) justin 2026-06-02 13:03:14 -05:00
  • 5c2f32c6f2 order: reframe state trucking fees as money recovered + deductible justin 2026-06-02 13:00:44 -05:00
  • 53ae3ef870 intake: cold ?dot= visitors can finish + correct per-state CTA links justin 2026-06-02 12:56:03 -05:00
  • d420c49818 intake: prefill order form from ?dot= campaign CTA links justin 2026-06-02 12:46:33 -05:00
  • 316b9cc6c7 build_trucking_campaigns: fix dead CTA button in test emails justin 2026-06-02 12:39:30 -05:00
  • 8090fe0589 docs: ramp schedule + pw-listmonk-rampcap, fresh-IP day-0 send started justin 2026-06-02 12:32:42 -05:00