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

Tool registry ​

Living inventory of every Florence-callable tool, its backing deterministic endpoint, data classification, allowed auth contexts, eval coverage, and status.

This document is updated as part of every PR that adds, modifies, or removes a tool. See adding a tool. CI asserts registry-file parity with the code registry at src/lib/florence/tools/registry.ts (implemented alongside the runtime spike).

Legend
ClassHighest data classification the tool's output may carry: Public, PHI, PII, FTI, App (application payload).
AuthAllowed auth contexts. A = anonymous, M = authenticated_member, G = authenticated_agent, X = authenticated_admin.
CacheResult cache TTL (seconds). — = not cacheable.
Statusstable / beta / planned / deprecated / archived.

api_* — deterministic platform ​

Consumer / pre-enrollment (anonymous + authenticated_member) ​

ToolBacking endpointInput summaryOutput summaryClassAuthCacheStatusTracking
api_search_plans/api/planszip, household, income, preferencesPlan list (top-N compact)Public–PIIA, M, G600 splanned#61
api_check_eligibility/api/eligibilityhousehold, income, stateEligibility + subsidy estimate (self-attested)PII (not FTI pre-enrollment — self-attested)A, M, G600 splanned#61
api_get_plan_detail(Phase E, #53) /api/plans/[id]planId, year, csrTier?Full plan detail incl. puf.* (base + csrVariants[tier] SBC scenarios when csrTier passed). See Knowledge: SBC scenarios & CSR for how Florence narrates the numbers.PublicA, M, G3600 splanned#53
api_check_drug_coverage(Phase C, #17) /api/drug-coverageplanId(s), drug name or RxCUICoverage + tier + cost-sharing per planPHIA (self-declared), M, G300 splanned#17
api_check_provider_network(Phase D, #18) /api/provider-networkplanId(s), provider NPI or name + zipIn-network / out-of-network per planPHIA (self-declared), M, G300 splanned#18

⚠️ SBE data-lookup gap (ENG-410) — provider name-search → coverage for CA. The live tools (check_drug, find_doctors/suggest, check_provider in packages/shared/src/florence/tools.ts) hit per-state backends — see SBE vs FFM data lookup. check_drug ✅ and find_doctors/suggest ✅ work for CA; check_provider ❌ returns NotCovered for CA because it discovers via NPPES (NPPES NPI) but CA coverage data is Symphony-providerId-keyed. Fix scoped in ENG-410 (route CA provider discovery through /api/providers/search-ca). Inline ⚠️ SBE GAP (ENG-410) markers are at the two code sites: coverAcrossAllPlans() and the check_provider autocomplete call.

Member-authenticated ​

ToolBacking endpointInput summaryOutput summaryClassAuthCacheStatusTracking
api_get_member_profile(Phase 5) /api/members/me/profile(context only)Member profile incl. meds, providers, preferencesPHI + PIIM—planned#47
api_get_member_plan_details(Phase 5) /api/members/me/plan(context only)Current plan + deductible progress + MOOP statusPHI + FTI (confirmed APTC)M300 s per memberplanned#47
api_get_member_coverage_events(Phase 5) /api/members/me/coverage-eventsdate rangeClaims, authorizations, statusPHIM60 s per memberplanned#47
api_initiate_sep_workflow(Phase 5) /api/members/me/seplife event type, dateSEP eligibility + next stepsPHIM—planned#47
api_request_renewal_analysis(Phase 5) /api/members/me/renewal-analysis(context only)Current vs. alternatives comparisonPHI + FTIM3600 s per memberplanned#47

Agent-authenticated ​

ToolBacking endpointInput summaryOutput summaryClassAuthCacheStatusTracking
api_list_my_assigned_members(Phase 5) /api/agents/me/membersfilter, paginationAssigned members list (summary)PHI + PIIG60 s per agentplanned#47
api_get_member_full_history(Phase 5) /api/agents/me/members/[id]/historymemberId (must be assigned)Full member history incl. conversations, eventsPHI + PIIG, X—planned#47
api_compose_member_message(Phase 5) /api/agents/me/members/[id]/composememberId, draftSaved draft (not sent)PHIG—planned#47
api_draft_sep_letter(Phase 5) /api/agents/me/members/[id]/sep-lettermemberId, life eventDraft letter (legal form)PHIG—planned#47
api_assign_escalation(Phase 5) /api/agents/me/escalationsescalationId, memberIdAssignment confirmationAuditG, X—planned#47
api_view_audit_trail(Phase 5) /api/agents/me/auditmemberId + filtersAudit records (read-only)AuditG, X—planned#47

Escalation (available to every mode) ​

ToolBacking endpointInput summaryOutput summaryClassAuthCacheStatusTracking
api_escalate_to_humanv1: email + Mongo florence_escalations. Phase 5: admin-dashboard queue.conversationId, reason, urgency, summaryEscalation IDPHIA, M, G—planned#61

ui_* — frontend state ​

ToolTargetInput summaryEffectAuthStatus
ui_set_plan_filter/plans page filter statezip, household, income, metal tier, drug list, provider listUpdates filter; triggers re-searchA, M, Gplanned
ui_open_plan/plans pageplanIdExpands the plan cardA, M, Gplanned
ui_highlight_fieldany pagefield selector, reasonHighlights + scrolls to a form fieldA, M, Gplanned
ui_start_intake_section/enrollmentsection nameNavigates to intake sectionA, Mplanned
ui_show_comparisonanywhereplanIdsOpens side-by-side comparison viewA, M, Gplanned

Archived tools ​

None yet. When tools are removed (see adding-a-tool §Deprecating), they move here with the removal date and the eval-bundle archive path.

Evolution notes ​

  • Drug coverage (api_check_drug_coverage) is blocked on Phase C ingestion (#17). The puf.formularyId is already ingested; the UI + per-issuer crawl is the unblocking work.
  • Provider network (api_check_provider_network) is blocked on Phase D ingestion (#18). The puf.networkId is already ingested; the sharded collection + UI is the unblocking work.
  • Member-side tools all block on AWS migration (#47) and the agent / member auth roll-out (Phase 5).
  • Agent-side tools additionally block on the NIPR validation + ID-verification path described in the agent platform architecture.
  • Voice does not add tools. Voice is an input/output affordance on the same runtime with the same tool surface.

How to read this registry ​

If you're evaluating whether Florence can answer a given question, trace:

  1. What factual claims does the answer require?
  2. Which tool(s) produce those claims?
  3. Are those tools stable? If planned or beta, Florence should not be asked this question in production yet, or must escalate.
  4. Is the user's auth context in the tool's allowlist?
  5. Does the tool's output class conflict with any downstream destination (rare for Florence-only flows; matters when the Florence response feeds an ui_* tool that surfaces data in a UI region subject to its own classification)?

The registry is the answer to "why does Florence know that?" — every factual answer traces to a tool in this table, and every tool traces to a deterministic endpoint.

Pager
Previous pageAdding a tool
Next pageKnowledge: SBC scenarios & CSR

AskFlorence Internal Documentation. Not for public distribution.

AskFlorence

Internal Documentation

Access restricted. Not for public distribution.