Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt

Use this file to discover all available pages before exploring further.

Version: 1.4.0 Last Updated: 2026-05-13 Status: Active Module: CE (Community Engagement)
Cross-References:

Overview

This document tracks communications and marketing compliance for the CE module, which manages CRM, campaigns, SMS messaging, call tracking, and community outreach. Key regulations include CAN-SPAM (email), TCPA (SMS/telephony), Arizona call recording law, and FCC telemarketing rules. Where CE handles PHI or SUD-related communications, HIPAA and 42 CFR Part 2 also apply.

1. CAN-SPAM Act (Commercial Email)

#RequirementResponsible SpecStatusNotes
CS-01Accurate header information — From, To, Reply-To must accurately identify senderCE-09⏳ Not StartedEmail template validation; org-level sender configuration
CS-02Non-deceptive subject lines — Subject must reflect message contentCE-09⏳ Not StartedCampaign review workflow; template approval
CS-03Advertisement identification — Clearly identify commercial messages as advertisementsCE-09⏳ Not StartedAuto-label commercial campaigns; transactional messages exempt
CS-04Physical address — Include valid postal address in every commercial emailCE-09⏳ Not StartedOrg address auto-inserted in email footer
CS-05Unsubscribe mechanism — Conspicuous opt-out; honor within 10 business daysCE-09, CE-16⏳ Not StartedCE-09 owns unsubscribe link in emails; CE-16 owns unified suppression registry (ce_suppressions) that records opt-outs and enforces pre-send blocks
CS-06Opt-out list management — Maintain and honor suppression lists; no sharingCE-09, CE-16⏳ Not StartedCE-16 centralizes opt-out list management via ce_suppressions (suppress_email=true); CE-09 consumes via pre-send check
CS-07HIPAA marketing overlay — PHI-based marketing requires patient authorization per 45 CFR 164.508CE-09, PF-44📋 PolicyCE campaigns must not use PHI for marketing without authorization

2. TCPA (SMS and Telephony)

#RequirementResponsible SpecStatusNotes
TC-01Express written consent — Obtain prior express written consent before sending automated SMSCE-08, CE-16🔜 In ProgressCE-08 EN send gate now enforces local consent/opt-out fallback (shim) before send. CE-16 registry remains canonical target for finalized evidence pipeline.
TC-02Consent per message type — Separate consent for marketing vs transactional messagesCE-08, CE-16🔜 In ProgressCE-08 EN send gate enforces marketing consent requirement (messageType=marketing) and fail-closed opt-out handling in current slice.
TC-03STOP keyword opt-out — Honor STOP replies immediatelyCE-08, CE-16⏳ Not StartedCE-08 processes inbound STOP webhook; CE-16 records suppression in ce_suppressions (reason=‘stop_keyword’) and blocks future sends
TC-04Opt-out confirmation — Single confirmation message upon opt-outCE-08, CE-16⏳ Not StartedCE-08 sends confirmation; CE-16 records consent withdrawal evidence in ce_consent_evidence (action=‘withdrawn’)
TC-05Business hours — Send messages only during appropriate hours (8am-9pm recipient local time)CE-08🔜 In ProgressCE-08 EN scheduled execution now applies TCPA 8am-9pm local-time floor and re-queues outside-window sends.
TC-06Sender identification — Identify organization in every messageCE-08🔜 In ProgressShared send gate now injects organization identifier prefix in outbound message normalization.
TC-0710DLC/A2P registration — Register for A2P 10DLC with carrier to avoid filteringCE-08⏳ Not StartedCarrier registration required before production SMS
TC-08No PHI in SMS — Messages must not contain PHICE-08, PF-44🔜 In ProgressSend gate and MMS path now warn/block per org PHI mode; MMS UI adds explicit PHI media safeguard warning and server-side MIME/size validation metadata checks.

3. Arizona Call Recording (ARS 13-3005, HB 2038)

#RequirementResponsible SpecStatusNotes
CR-01One-party consent — Arizona is one-party consent; at least one party must consent to recordingCE-10 (if applicable)📋 PolicyStaff making calls are the consenting party
CR-02Notice requirement (HB 2038, 2024) — Must provide notice to all parties before recording wire/electronic communicationsCE-10⏳ Not StartedAuto-play recording notice at call start; log acknowledgment
CR-03Interstate calls — Two-party consent states may require all-party consentCE-10📋 PolicyDefault to all-party notice for out-of-state calls; policy guidance
CR-04Recording retention — Store recordings securely; comply with data retention policiesCE-10, IT-05⏳ Not StartedEncrypted storage; retention schedule per policy

4. FCC Telemarketing Rules

#RequirementResponsible SpecStatusNotes
FCC-01National Do Not Call Registry — Check DNC registry before outbound marketing callsCE-10, CE-16⏳ Not StartedCE-16 owns DNC registry CSV import and creates suppression records (source=‘dnc_registry’); CE-10 calls pre-send check before dial
FCC-02Internal Do Not Call list — Maintain and honor organization’s internal DNC listCE-10, CE-08, CE-16⏳ Not StartedCE-16 owns internal DNC list via ce_suppressions (suppress_phone=true); CE-10/CE-08 consume via suppression check API
FCC-03Caller ID — Transmit accurate caller ID informationCE-10📋 OperationalTelephony provider configuration
FCC-04Calling hours — Outbound marketing calls only 8am-9pm recipient local timeCE-10⏳ Not StartedTime zone-aware scheduling

5. Charitable Solicitation (if applicable)

#RequirementResponsible SpecStatusNotes
CH-01State registration — Register in states where soliciting donations (if applicable)CE-09📋 Assessment neededApplicable only if CE module supports fundraising/donation campaigns
CH-02Disclosure requirements — Disclose registration status and use of funds where requiredCE-09📋 Assessment neededState-specific requirements vary

6. Lead Conversion & PHI Handling (CE-29)

#RequirementResponsible SpecStatusNotes
LC-01No PHI in event payloads — Conversion events contain IDs only (lead_id, contact_id, org_id)CE-29✅ VerifiedEvent payloads in useLeadMutations.ts contain IDs only per CE-01 pattern
LC-02Sanitized error messages — User-facing errors use sanitizeErrorMessage()CE-29✅ VerifiedonError handler uses sanitizeErrorMessage(error)
LC-03No PHI in toast notifications — Toast messages use static stringsCE-29✅ VerifiedSuccess/error toasts use hardcoded descriptions
LC-04INSERT-only audit tablece_lead_conversions has no UPDATE/DELETE RLS policies; explicit deny policies addedCE-29✅ VerifiedRLS: SELECT + INSERT only; explicit UPDATE/DELETE deny policies; immutable for 7-year retention
LC-0542 CFR Part 2 — SUD data gating — Conversion payloads must not include SUD screening data without consent verificationCE-29, CE-28📋 DeferredCE-28 screening UI not yet implemented; conversion payloads carry IDs only (no SUD content). Consent gating required when CE-28 wires screening data into conversion flow.
LC-06Conversion notes character limit — Notes capped at 500 chars to reduce PHI exposure riskCE-29✅ VerifiedTextarea maxLength={500} with character counter

7. AI Triage PHI & SUD Compliance (CE-54)

#RequirementResponsible SpecStatusNotes
AI-01No PHI in AI prompts — AI payload uses structured criteria only (insurance type, diagnosis category, demographics bucket); no names, DOBs, SSNs, addresses, or free-text clinical notesCE-54, PF-27📋 DraftConstitution §4.3.2; _shared/phi-detection.ts validates payload before transmission
AI-02SUD consent gating (server-side) — Edge function checks consent_obtained = true AND consent_method IS NOT NULL on ce_screening_attempts before including SUD fields; not bypassable from clientCE-54, CL-11📋 Draft42 CFR Part 2 § 2.31; server-side enforcement in ai-triage-evaluate edge function
AI-03Blocked SUD attempts audit-logged — Blocked SUD processing creates pf_audit_logs entry with timestamp, user_id, screening_attempt_id, actionCE-54📋 Draft42 CFR Part 2 § 2.13
AI-04PHI detection on AI response — AI response validated by _shared/phi-detection.ts before storage; PHI-detected responses rejected and audit-loggedCE-54📋 DraftHIPAA Privacy Rule; re-disclosure prevention per § 2.32
AI-05Structured output prevents re-disclosure — Tool-calling schema constrains AI output to enumerated fields; no free-text SUD content in stored responsesCE-54📋 Draft42 CFR Part 2 § 2.32
AI-06Model metadata audit trail — Every AI triage run records model_id, model_version, prompt_version, processing_time_ms, user_id, organization_idCE-54📋 DraftHIPAA Security Rule audit controls; Constitution §4.3.7
AI-07Permission-gated accessce.triage.view, ce.triage.run, ce.triage.decide, ce.triage.manage enforced via pf_has_permission()CE-54, PF-30📋 DraftHIPAA Security Rule access controls
AI-08Auth verification — Edge function validates auth via verifyOrgAccess() from _shared/auth.ts; unauthenticated calls return 401CE-54📋 DraftConstitution §4.3; HIPAA Security Rule

CE-54 Initial Release Compliance Gate (Required Before Phase 1 Build)

  • AI-01 through AI-08 are release-blocking controls for the initial CE-54 launch; they are not deferred to follow-up patches.
  • ai-triage-evaluate must enforce SUD consent gating exactly as specified: consent_obtained = true AND consent_method IS NOT NULL before including SUD-tagged fields in prompts.
  • _shared/phi-detection.ts must be wired on both request payload preflight and AI response post-processing; PHI detections must reject processing/storage.
  • Blocked SUD attempts and PHI rejections must create pf_audit_logs entries; edge-function auth and authorization must enforce verifyOrgAccess() + pf_has_permission() for all CE-54 triage actions.
  • Every AI run must persist model metadata (model_id, model_version, prompt_version, processing_time_ms, user_id, organization_id) in CE-54 audit/result records.
  • CE-54 spec, schema migrations, and RLS policies must include the controls above before release promotion; firm deployment target: 2026-06-30 (SUD-handling compliance gate).

8. Authoritative External References

SourceURLUsed By
FTC: CAN-SPAM Act Compliance Guidehttps://www.ftc.gov/business-guidance/resources/can-spam-act-compliance-guide-businessCE-09
FCC: TCPA Rules and Consenthttps://www.fcc.gov/document/rules-and-regulations-implementing-telephone-consumer-protection-act-22CE-08
FCC: National Do Not Call Registryhttps://www.donotcall.gov/CE-10
Arizona ARS 13-3005 (Wiretapping/Recording)https://www.azleg.gov/ars/13/03005.htmCE-10
Arizona HB 2038 (2024 recording notice amendment)https://www.azleg.gov/legtext/56leg/2r/bills/hb2038h.pdfCE-10
HIPAA Marketing Authorization (45 CFR 164.508)https://www.hhs.gov/hipaa/for-professionals/privacy/guidance/marketing/index.htmlCE-09

9. Periodic Review Schedule

ReviewFrequencyNext DueOwner
CAN-SPAM compliance auditQuarterly//____Marketing Director
TCPA consent mechanism reviewQuarterly//____Compliance Officer
DNC list synchronizationMonthly//____Marketing Director
Call recording notice verificationQuarterly//____Compliance Officer
Charitable solicitation assessmentAnnually//____Legal Counsel
Lead conversion PHI auditQuarterly//____Compliance Officer

Version History

1.4.0 (2026-05-13)

  • Added CE-08-ENHANCEMENTS partial evidence for EN-01 + EN-02 execution slice:
    • shared pre-send compliance gate (local consent/opt-out shim),
    • MMS media constraints and PHI media warning,
    • scheduled send execution-time consent and TCPA window checks.
  • Updated TCPA rows TC-01, TC-02, TC-05, TC-06, and TC-08 to 🔜 In Progress with current slice evidence notes.

1.3.0 (2026-05-12)

  • Added Section 7: AI Triage PHI & SUD Compliance (CE-54)
  • 8 compliance requirements tracked for AI triage pipeline (PHI in prompts, SUD consent gating, re-disclosure prevention, audit trail)
  • Renumbered §8 → §9 (Periodic Review)

1.2.0 (2026-03-30)

  • Merged duplicate §6/§7 (external references) and §7/§8 (periodic review) into canonical sections
  • Updated LC-04 to reflect explicit deny policies for UPDATE/DELETE
  • Renumbered sections for consistency

1.1.0 (2026-03-28)

  • Added Section 6: Lead Conversion & PHI Handling (CE-29)
  • 6 compliance requirements tracked for conversion pipeline
  • PHI audit verified: event payloads, error messages, toasts, audit immutability

1.0.0 (2026-02-27)

  • Initial CE communications compliance document
  • Covers CAN-SPAM, TCPA (SMS), Arizona call recording (ARS 13-3005, HB 2038), FCC telemarketing, charitable solicitation
  • 25+ compliance requirements tracked across 5 categories

Last Updated: 2026-05-13 Next Review: 2026-08-12