Skip to content
AskFlorence
Main Navigation ArchitectureFlorence AIAgentsMembersAgent PlatformValidationInfrastructure

Appearance

Sidebar Navigation

Overview

Home

Glossary

System Architecture

Consumer & Agent Flow

Florence AI

Overview

Principles

Runtime

Tool surface

Adding a tool

Tool registry

Knowledge: SBC scenarios & CSR

Voice

Evals & observability

Provider risk & portability

Outage playbook

Roadmap

Build plan

Agents

Overview

Workflows & pain points

Members

Overview

Medicaid coverage gap

Carriers

Overview

Marketplaces

Overview

Agency

Overview

Regulations

Overview

Agent Platform

Overview

Auth Architecture

MongoDB Permissioning

Compliance Model

Data Models

Data Sources

Overview

CMS Marketplace API

CMS dependency map

PUF Data

State Subsidies

SBE Ingestion Playbook

SBE State Watchouts + Decisions

CA Phase C/D Playbook

NY Phase C/D Playbook

Validation

Overview

Methodology

APTC Formula

California 2026

New York 2026

CAPS Formula

Scenario Results

Infrastructure

Account Inventory

AWS Setup Runbook

AWS Organizations

CloudTrail

GuardDuty

Security Hub

Config

CloudFront + WAFv2

Data sources & ingest

Phase 4 DNS

Change Log

Vulnerability Management

MongoDB Setup

Access Control

Data Classification

Documentation Hosting

Post-deploy Smoke

Development

Preflight (local CI mirror)

Testing strategy

Compliance

Overview (auditor entry point)

SOC 2 Control Mapping

HIPAA Control Mapping

CMS EDE Appendix A Mapping

Risk Assessment

Encryption Policy

Data Retention Policy

Privacy Impact Assessment

Consent Capture & Versioning

Incident Response Plan

Access Control Policy

Marketing vs. Portal Analytics

Vendor / Subprocessor Register

Dependency Vulnerability Policy

BAA / Compliance Evidence

Compliance-Automation Integration

Compliance-Automation Vendor Evaluation

Penetration Test Reports

Architecture

Portal entry handoff

Mobile app strategy

Deferred architecture decisions

Session cookie architecture

Share flows

Decisions (ADRs)

Index

0001 — Atlas project isolation

0002 — Append-only audit log

0003 — Narrow-scoped Mongo users

0004 — Cross-cluster Atlas PrivateLink

0005 — Delayed-job architecture

0006 — Mongo user simplification

0007 — Terraform owns ECS task def

0008 — E2E testing strategy

0009 — Self-hosted analytics + observability (superseded)

0010 — PostHog HIPAA Cloud (supersedes 0009)

Runbooks

Security Incident Response

Break-Glass Root Login

Onboard Team Member

Offboard Team Member

Atlas user provisioning

Deploy via Terraform (ENG-277)

Rollback via Terraform (ENG-277)

S3 data bucket migration (planned Phase 11)

Access Reviews

2026-Q2 Review

Session log

Index

2026-04-23 — Phase 10 DNS cutover

2026-04-22 — Phase 8 prod AWS mirror

2026-04-22 — Phase 7 Atlas VPC peering

2026-04-22 — Phase 6 CloudFront + WAF

2026-04-21 — Phase 5 staging go-live

2026-04-17 — Atlas staging

Briefs

Index

Member portal plan (ENG-187)

2026-04-16/17 handoff

2026-04-17 Atlas handoff

System briefing (2026-04-17)

Creative AdBundance proposal brief

Creative AdBundance analytics brief

ElevenLabs RN integration research

Policies

Overview

On this page

Vendor / subprocessor register ​

Purpose: Canonical record of every vendor + subprocessor that processes (or could process) AskFlorence data, with BAA / DPA / FedRAMP status. Required artifact for SOC 2 (CC9.2 — vendor management), HIPAA (§164.314 — BAA scope), and CMS EDE Phase 3 (subprocessor inventory).

Linked: #57 — Vendor HIPAA BAA coverage audit. #71 — Phase 12 compliance docs.

Convention: every row updated when status changes. Evidence files (signed PDFs, click-through screenshots) live under docs/infrastructure/evidence/ and are cross-referenced by row.

Active vendors / subprocessors ​

Tier 1 — direct data processors ​

VendorPurposeData classBAA / DPA statusFedRAMPEvidenceNotes
AWS (Amazon Web Services)Compute, storage, networking, secrets, monitoring — entire production stackAll classes (public, pii, phi, fti, application, cms_hub)✅ HIPAA BAA signed 2026-04-18 (AWS Organizations BAA, covers all member accounts: 778477254880 mgmt, 039624954211 prod, 549136075525 staging, 754660694122 log-archive)✅ FedRAMP Moderate (commercial us-east-1)aws-organizations-baa-signed-2026-04-18.pdfAuthoritative compute + data layer. EDE Phase 3 inheritance via FedRAMP Moderate ATO.
Google Workspace (Google LLC)Business email (*@askflorence.health), Calendar, Drive (founder + ops docs), Meet, Cloud Identity (SSO root for Google services)pii (employee + cofounder data); phi possible if any clinical/member info ever flows into Drive/Gmail✅ HIPAA BAA accepted 2026-05-01 via Admin Console click-through (Google Workspace/Cloud Identity HIPAA Business Associate Amendment)❌ Workspace is NOT FedRAMP Moderate authorized for general use. Workspace for Gov is a separate tier.google-workspace-hipaa-baa-acceptance-2026-05-01.jpg (admin console screenshot)Covered services list: Gmail, Calendar, Drive (incl Docs/Sheets/Slides/Forms/Vids), Meet, Chat, Sites, Tasks, Keep, Vault, Cloud Identity, Google Cloud Search, Groups, Voice (managed), AppSheet, Apps Script, Gemini app, Gemini in Workspace. Excluded: Gemini in Chrome. Source of truth: workspace.google.com/terms/2015/1/hipaa_functionality (effective 2025-09-30). For EDE Phase 3, Workspace stays as it doesn't touch the marketplace data path; if it ever does, migrate to Workspace for Gov.
MongoDB Atlas (organization askflorence, two projects in scope)Primary application database. Project askflorence-prod-01 (project_id 69dc20c64005b222804dafa4, M10 HIPAA cluster askflorence-prod-01): plans, ZIPs, agent waitlist, future agent + member data — PHI scope. Project askflorence-staging (project_id 69e31af12fd2c0aef51bbb41, M30 cluster askflorence-staging): non-PHI public CMS reference data (formularies_staging, providers_staging) read cross-cluster from prod via AWS PrivateLink.All classes on prod (HIPAA-tier cluster); public-only on staging (CMS marketplace reference data)✅ HIPAA BAA via Atlas HIPAA tier (effective with M10 HIPAA cluster) — organization-level BAA covers both projects under the same Atlas organization. Signed BAA PDF on file (doc LA-50572, fully executed 2026-05-14).⚠️ Atlas commercial: not FedRAMP. Atlas for Government: FedRAMP Moderate. Migration planned at EDE Phase 3 cutover.mongodb-atlas-baa-signed-2026-05-14.pdfBAA scope: the signed BAA (LA-50572) is an organization-level MongoDB Cloud Services BAA — it does not enumerate individual Atlas project IDs, so the org-level scope inherently covers both askflorence-prod-01 and askflorence-staging under the askflorence Atlas organization; the "confirm both project IDs" caveat (#57) is satisfied by construction. us-east-1. Prod cluster: narrow-scoped users (Phase 11 follow-up: complete split + rotate). Cross-cluster reads: prod VPC → staging cluster via AWS PrivateLink endpoint vpce-0c81aea11e29bb928 (Atlas endpoint service com.amazonaws.vpce.us-east-1.vpce-svc-0d8138ea0f6542afa); see decision doc "Cross-cluster reference reads via AWS PrivateLink" + Terraform infra/envs/prod/atlas-staging-privatelink.tf. Read-only app_read_staging user on askflorence database.
CloudflareDNS only (proxy disabled) for askflorence.health apex + subdomainsNone — DNS resolution does not see contentn/a (DNS-only — no PHI traverses Cloudflare)n/a(no BAA needed for DNS-only mode)Hard rule: never enable proxy/orange-cloud without first signing Cloudflare BAA.
GitHubSource code hosting (no PHI in repo by .gitignore + secret scanning)None — source code onlyn/a (no BAA needed; no PHI in repo)⚠️ GitHub Enterprise Cloud has FedRAMP Moderate; we're on standard tier today. Upgrade if auditor asks.n/aBranch protection on main. Secret scanning on. Dependabot on.

Tier 2 — transitional / pending decision ​

VendorPurposeData classBAA / DPA statusAction
AWS SES (Amazon Simple Email Service)Transactional email (waitlist, agent confirmations, future magic links). Replaced Resend at v0.18.0 cutover.pii (email addresses + content)✅ Covered under existing AWS Organizations BAA (SES is an AWS service in scope)None — fully covered
PostHog CloudProduct analytics, being re-introduced post-Umami pivot for the HIPAA-wired event model (ENG-400 mobile, ENG-419 web instrumentation)pii (covered by BAA); phi possible depending on SDK config✅ HIPAA BAA signed 2026-06-01 (posthog-baa-signed-2026-06-01.pdf, Doc Ref PBK2U-R6PYJ-KMD6G-CPFMO, counter-signed Charles Cook VP Operations, PostHog Inc.). ⚠️ CONDITIONAL: BAA text states it is null and void unless customer is on a paid PostHog Platform Package (Boost / Scale / Enterprise) at signing time. Verify subscription tier before relying on coverage for any PHI flow.Earlier "removed" path (#75 / ADR 0009 / ENG-347) shipped OpenPanel + GlitchTip self-hosted on AWS as the canonical observability stack. PostHog is re-introduced under the new BAA for product analytics specifically on mobile (ENG-400) and web (ENG-419). Move to Tier 1 once actively flowing in prod under the BAA + Platform Package tier confirmed. Tracked in ENG-421.
ElevenLabs (voice, Florence WOW demo path ENG-356)Conversational voice TTS + STT for Florencephi (members may speak meds, doctor names, conditions if Florence ships voice in prod)⚠️ BAA in flight, founder-led (being sorted next after PostHog). HIPAA support is plan-tier-gated on ElevenLabs side.Sign before any PHI flows through ElevenLabs in production. Demo / dev-only use is acceptable until the BAA is in hand and the plan-tier is verified.
Anthropic (Claude API, Florence AI workstream — not yet shipped)LLM inputs/outputs for Florence AI; will carry phi when launchedphi (when Florence ships)TODO: collect signed BAA at Florence Phase 1 go-live; sign before any prod Florence callMigrate to Bedrock at EDE Phase 3 (Bedrock Claude is FedRAMP Moderate via AWS, no separate Anthropic BAA needed).
OpenAI Whisper (voice — not yet shipped)Voice transcription if voice ships pre-EDEphi-capableTODO: only collect BAA if voice ships pre-EDE; else skip and go straight to AWS Transcribe at EDE Phase 3AWS Transcribe is FedRAMP Moderate native. Default plan: never sign OpenAI BAA.
NIPR (National Insurance Producer Registry) — not yet integratedAgent NPN validation at onboarding; monthly active-license alertspii (NPN, agent identity)TODO: BAA signing at integration time. NIPR has standard healthcare BAA.Phase 5 (agent platform)
ID verification vendor (TBD: Persona / Stripe Identity / Plaid / Veriff) — not yet integratedGovernment ID + selfie liveness for agent identitypii + biometricTODO: BAA signing at vendor selectionPhase 5 (agent platform)

Tier 3 — retired / removed ​

VendorReasonDate retiredNotes
ResendTransactional email (replaced by AWS SES); domain status had failed since 2026-04-10; Vercel-side Resend integration broken.2026-04-30T17:19Z (commit retiring secret + IAM + ECS task def)Subscription canceled. Code path removed. AWS SES covers transactional email going forward, fully under AWS BAA.
VercelReplaced by AWS ECS at Phase 10 cutover.2026-04-23 (Phase 10 DNS cutover)Vercel project archived; not deleted (rollback safety).

BAA evidence inventory ​

Files under docs/infrastructure/evidence/:

FileVendorTypeDate
aws-organizations-baa-signed-2026-04-18.pdfAWSSigned BAA PDF (org-wide)2026-04-18
google-workspace-hipaa-baa-acceptance-2026-05-01.jpgGoogle WorkspaceAdmin console click-through screenshot2026-05-01
mongodb-atlas-baa-signed-2026-05-14.pdfMongoDB AtlasSigned BAA PDF (doc LA-50572, org-level)2026-05-14
posthog-baa-signed-2026-06-01.pdfPostHogSigned BAA PDF (Doc Ref PBK2U-R6PYJ-KMD6G-CPFMO)2026-06-01

Compliance frameworks reference ​

FrameworkVendor management controlWhat this register satisfies
HIPAA§164.314(a) — BAA required for all subprocessors with PHI accessPer-vendor BAA status + evidence file path
SOC 2 TSCCC9.2 — vendor management; CC1.4 — third-party riskVendor inventory + risk classification (data class column)
CMS EDE Phase 3 / MARS-E 2.2SA-9 (External information system services) — subprocessor inventory + control inheritancePer-vendor FedRAMP status + EDE migration path notes
NIST 800-53 R4 ModerateSA-9 (services external to org), AC-20 (use of external systems)Status documentation + control inheritance flags

Update cadence ​

  • At every new vendor adoption: add row before signing contract; require BAA / DPA before any production data flows
  • Quarterly: review for vendor status changes (new FedRAMP authorizations, BAA renewals, retirements)
  • Annually: full audit prep — pull every BAA from evidence/, verify still active, file replacements as needed
  • At every retirement: move to "retired" section + retain BAA in evidence/ for 6 years (HIPAA retention)

Open follow-ups ​

  • [x] Collect signed BAA PDF from MongoDB Atlas — filed 2026-05-14 as mongodb-atlas-baa-signed-2026-05-14.pdf (doc LA-50572). Per #57: the executed BAA is an organization-level MongoDB Cloud Services BAA — it does not enumerate individual Atlas project IDs, so its org-level scope inherently covers BOTH askflorence-prod-01 (69dc20c64005b222804dafa4) AND askflorence-staging (69e31af12fd2c0aef51bbb41) under the askflorence Atlas organization. The cross-cluster PrivateLink read path keeps staging in-scope for our compliance posture even though it holds non-PHI reference data only; both projects are covered by construction.
  • [x] #75 — remove PostHog Cloud (sub-A shipped 2026-05-12); replacement is OpenPanel + GlitchTip self-hosted (ADR 0009, build at #342 / ENG-347)
  • [x] Collect signed PostHog BAA PDF, filed 2026-06-01 as posthog-baa-signed-2026-06-01.pdf (Doc Ref PBK2U-R6PYJ-KMD6G-CPFMO; tracked in ENG-421)
  • [ ] Verify AskFlorence is on a paid PostHog Platform Package (Boost / Scale / Enterprise), required for the 2026-06-01 PostHog BAA to be effective per its own terms. Verify before any PHI traffic.
  • [ ] ElevenLabs BAA: in flight, founder-led. Sign before any PHI flows through ElevenLabs in production.
  • [ ] At Phase 5 (agent platform) — sign NIPR BAA; select + sign ID-verify vendor BAA
  • [ ] At Florence Phase 1 (Anthropic direct API) — collect signed Anthropic BAA
  • [ ] At EDE Phase 3 (~Sept 2026) — migrate Atlas → Atlas for Government, Anthropic direct API → Bedrock Claude
Pager
Previous pageMarketing vs. Portal Analytics
Next pageDependency Vulnerability Policy

AskFlorence Internal Documentation. Not for public distribution.

AskFlorence

Internal Documentation

Access restricted. Not for public distribution.