diff --git a/data/hc_campaigns/hc_compliance_bundle.html b/data/hc_campaigns/hc_compliance_bundle.html index e164041..7bb91c8 100644 --- a/data/hc_campaigns/hc_compliance_bundle.html +++ b/data/hc_campaigns/hc_compliance_bundle.html @@ -5,7 +5,7 @@ - Performance West + Performance West

Provider Compliance Review

Annual compliance, done for you

@@ -38,12 +38,28 @@
Questions? Reply to this email or call (888) 411-0383. Performance West is a dedicated healthcare compliance firm — we handle the CMS/NPPES paperwork so you can focus on patients.
+ + + + + + + + + +
+ 🛡️ SOC 2 Type II hosting + ✅ HIPAA & PCI compliant + 🔒 256-bit TLS encrypted + 💳 Secure payment by Stripe +
+ 100% satisfaction guarantee · fixed pricing, no billable hours · trusted by providers nationwide +

Performance West Inc. · Cheyenne, WY · performancewest.net

-

You received this because your provider record is publicly listed in the CMS NPPES registry.

Unsubscribe

diff --git a/data/hc_campaigns/hc_npi_reactivation.html b/data/hc_campaigns/hc_npi_reactivation.html index 2ab1c84..e570443 100644 --- a/data/hc_campaigns/hc_npi_reactivation.html +++ b/data/hc_campaigns/hc_npi_reactivation.html @@ -5,7 +5,7 @@ - Performance West + Performance West

Provider Enrollment Alert

Deactivated enrollment detected

@@ -38,12 +38,28 @@
Questions? Reply to this email or call (888) 411-0383. Performance West is a dedicated healthcare compliance firm — we handle the CMS/NPPES paperwork so you can focus on patients.
+ + + + + + + + + +
+ 🛡️ SOC 2 Type II hosting + ✅ HIPAA & PCI compliant + 🔒 256-bit TLS encrypted + 💳 Secure payment by Stripe +
+ 100% satisfaction guarantee · fixed pricing, no billable hours · trusted by providers nationwide +

Performance West Inc. · Cheyenne, WY · performancewest.net

-

You received this because your provider record is publicly listed in the CMS NPPES registry.

Unsubscribe

diff --git a/data/hc_campaigns/hc_nppes_outdated.html b/data/hc_campaigns/hc_nppes_outdated.html index 57b2516..14da013 100644 --- a/data/hc_campaigns/hc_nppes_outdated.html +++ b/data/hc_campaigns/hc_nppes_outdated.html @@ -5,7 +5,7 @@ - Performance West + Performance West

NPPES Data Alert

Outdated registry information detected

@@ -38,12 +38,28 @@
Questions? Reply to this email or call (888) 411-0383. Performance West is a dedicated healthcare compliance firm — we handle the CMS/NPPES paperwork so you can focus on patients.
+ + + + + + + + + +
+ 🛡️ SOC 2 Type II hosting + ✅ HIPAA & PCI compliant + 🔒 256-bit TLS encrypted + 💳 Secure payment by Stripe +
+ 100% satisfaction guarantee · fixed pricing, no billable hours · trusted by providers nationwide +

Performance West Inc. · Cheyenne, WY · performancewest.net

-

You received this because your provider record is publicly listed in the CMS NPPES registry.

Unsubscribe

diff --git a/data/hc_campaigns/hc_oig_screening.html b/data/hc_campaigns/hc_oig_screening.html index 36ad9b3..a12a28d 100644 --- a/data/hc_campaigns/hc_oig_screening.html +++ b/data/hc_campaigns/hc_oig_screening.html @@ -5,7 +5,7 @@ - Performance West + Performance West

Exclusion Screening Notice

Annual OIG/SAM screening requirement

@@ -38,12 +38,28 @@
Questions? Reply to this email or call (888) 411-0383. Performance West is a dedicated healthcare compliance firm — we handle the CMS/NPPES paperwork so you can focus on patients.
+ + + + + + + + + +
+ 🛡️ SOC 2 Type II hosting + ✅ HIPAA & PCI compliant + 🔒 256-bit TLS encrypted + 💳 Secure payment by Stripe +
+ 100% satisfaction guarantee · fixed pricing, no billable hours · trusted by providers nationwide +

Performance West Inc. · Cheyenne, WY · performancewest.net

-

You received this because your provider record is publicly listed in the CMS NPPES registry.

Unsubscribe

diff --git a/data/hc_campaigns/hc_revalidation_overdue.html b/data/hc_campaigns/hc_revalidation_overdue.html index b3e14c7..99cb61d 100644 --- a/data/hc_campaigns/hc_revalidation_overdue.html +++ b/data/hc_campaigns/hc_revalidation_overdue.html @@ -5,7 +5,7 @@ - Performance West + Performance West

Medicare Revalidation Alert

Your CMS revalidation deadline has passed

@@ -38,12 +38,28 @@
Questions? Reply to this email or call (888) 411-0383. Performance West is a dedicated healthcare compliance firm — we handle the CMS/NPPES paperwork so you can focus on patients.
+ + + + + + + + + +
+ 🛡️ SOC 2 Type II hosting + ✅ HIPAA & PCI compliant + 🔒 256-bit TLS encrypted + 💳 Secure payment by Stripe +
+ 100% satisfaction guarantee · fixed pricing, no billable hours · trusted by providers nationwide +

Performance West Inc. · Cheyenne, WY · performancewest.net

-

You received this because your provider record is publicly listed in the CMS NPPES registry.

Unsubscribe

diff --git a/scripts/build_healthcare_campaigns.py b/scripts/build_healthcare_campaigns.py index 0d53967..ae06fa3 100644 --- a/scripts/build_healthcare_campaigns.py +++ b/scripts/build_healthcare_campaigns.py @@ -192,6 +192,23 @@ def render(seg_key: str, *, test: bool = False) -> tuple[str, str]:
Questions? Reply to this email or call {PHONE}. Performance West is a dedicated healthcare compliance firm — we handle the CMS/NPPES paperwork so you can focus on patients.
+ + + + + + + + + +
+ 🛡️ SOC 2 Type II hosting + ✅ HIPAA & PCI compliant + 🔒 256-bit TLS encrypted + 💳 Secure payment by Stripe +
+ 100% satisfaction guarantee · fixed pricing, no billable hours · trusted by providers nationwide +
diff --git a/scripts/campaign_template.html b/scripts/campaign_template.html index 769d19b..b1d0de8 100644 --- a/scripts/campaign_template.html +++ b/scripts/campaign_template.html @@ -55,6 +55,19 @@ Need help? Reply to this email or call us at (888) 411-0383. We offer a free compliance assessment for all FCC-registered carriers. + + + + +
+ 🛡️ SOC 2 Type II hosting + 🔒 256-bit TLS encrypted + 💳 Secure payment by Stripe + ✅ SSL Labs A+ rated +
+ 100% satisfaction guarantee · fixed pricing, no billable hours · trusted by carriers nationwide +
+ diff --git a/scripts/email/inject_trust_trucking.py b/scripts/email/inject_trust_trucking.py new file mode 100644 index 0000000..0c2b962 --- /dev/null +++ b/scripts/email/inject_trust_trucking.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python3 +"""Inject a trucking-appropriate trust strip into the trucking source-template +campaigns in the trucking Listmonk DB (the ones the nightly builder clones). +Idempotent: skips campaigns that already have the strip. Run on the host. +""" +import subprocess, sys + +SOURCE_IDS = [271, 272, 273, 274, 309, 310] +MARKER = "pw-trust-strip-v1" + +# Trucking trust strip — data-safety + guarantee + social proof. Matches site. +STRIP = ( + '' + '' + '' + '
' + '🛡️ SOC 2 Type II hosting' + '🔒 256-bit TLS encrypted' + '💳 Secure payment by Stripe' + '✅ SSL Labs A+ rated' + '
' + '100% satisfaction guarantee · fixed pricing, no billable hours · trusted by thousands of carriers nationwide' + '
' +) + + +def psql(sql, fetch=False): + cmd = ["docker", "exec", "-i", "performancewest-api-postgres-1", + "psql", "-U", "pw", "-d", "listmonk", "-tAc", sql] + r = subprocess.run(["sudo"] + cmd, capture_output=True, text=True) + if r.returncode != 0: + print("PSQL ERR:", r.stderr[:200]); sys.exit(1) + return r.stdout.strip() + + +def set_body(cid, body): + # write body via a file to avoid shell-escaping a huge HTML blob + import tempfile, os + with tempfile.NamedTemporaryFile("w", suffix=".sql", delete=False) as f: + # use dollar-quoting + f.write(f"UPDATE campaigns SET body = $PWBODY${body}$PWBODY$ WHERE id = {cid};") + path = f.name + subprocess.run(["sudo", "docker", "cp", path, "performancewest-api-postgres-1:/tmp/u.sql"], check=True) + r = subprocess.run(["sudo", "docker", "exec", "performancewest-api-postgres-1", + "psql", "-U", "pw", "-d", "listmonk", "-f", "/tmp/u.sql"], + capture_output=True, text=True) + os.unlink(path) + return "UPDATE 1" in r.stdout + + +def main(): + for cid in SOURCE_IDS: + body = psql(f"select body from campaigns where id={cid};") + if not body: + print(f" {cid}: NOT FOUND, skip"); continue + if MARKER in body: + print(f" {cid}: already has trust strip, skip"); continue + # Inject right before the final footer block. Anchor: the + # '
+ idx = body.rfind("
") + new = body[:idx] + STRIP + body[idx:] if idx != -1 else body + STRIP + if set_body(cid, new): + print(f" {cid}: trust strip injected") + else: + print(f" {cid}: UPDATE failed") + + +if __name__ == "__main__": + main()