RxAiAnalytics · Security & Trust

Security & Trust, proven — not promised.

We analyze pharmacy-claims data for health plans, plan sponsors, brokers, and PBMs as a HIPAA Business Associate. We are compliant by design: PHI is received only under a signed BAA, encrypted in transit and at rest with AWS KMS keys we control, tokenized before it is ever stored, and never used to train Anthropic’s or any third party’s AI models. This page pre-answers the questions procurement teams ask — and points to the evidence we share under NDA.

HIPAA Business AssociateAWS BAA activeHITRUST e1 in progressHosting AWS · us-east-1 (USA)AI no third-party model training
Compliance posture

Where we stand — stated plainly

We distinguish clearly between what is in place today, what is actively in progress, and what is planned. We do not claim certifications we have not earned.

HIPAA Business Associate
Active
We operate as a HIPAA Business Associate and sign a Business Associate Agreement (BAA) with every customer before receiving any PHI. A designated Security & Privacy Officer owns the program.
AWS Business Associate Addendum
Active
The AWS BAA is accepted and active (effective 2025-06-08), covering all HIPAA-eligible AWS services used to run the platform in us-east-1 (United States).
Anthropic AI Business Associate Addendum
Active
The Anthropic Business Associate Addendum is accepted and in effect, and all AI traffic runs through a HIPAA-configured Anthropic API organization in the United States. Customer content is contractually excluded from training Anthropic’s models. Only Eligible Services under the Addendum are used. Features that Anthropic’s HIPAA implementation guide excludes from coverage (the Batch API, Files API, Skills API, Code Execution, Computer Use, Web Fetch and external MCP connectors) are not used, and no beta features are enabled on AI requests.
Written security & privacy program
Active
A complete program is authored and approved (v1.0, 2026-07-22): 18 security policies, scope/asset/data-flow/architecture standards, a risk assessment and register, an incident response plan with completed tabletop, a contingency/DR plan with tested restore, vulnerability & patch management, access reviews, security training, and a vendor risk register.
HITRUST CSF e1 certification
In progress
Actively being pursued. The e1 readiness self-assessment is complete; validated certification is targeted but not yet awarded. We are not HITRUST certified today.
SOC 2 Type II
Planned
On the roadmap and not yet started. We intend to pursue a SOC 2 Type II examination (mapped to HIPAA) as enterprise procurement requires it.
Independent HIPAA risk / gap assessment
Planned
Planned as the next external validation step. Our current risk analysis is internal; an independent assessor has not yet performed this review.
Third-party penetration test
Planned
Planned on an intended annual cadence. No third-party penetration test has been completed yet, and no pen-test report exists today.
Cyber / Tech E&O insurance
Planned
Planned. A cyber and technology errors-and-omissions policy is intended but not yet bound; we do not represent that active coverage is in place today.
Vulnerability Disclosure Policy
Rolling out
Our VDP authorizes good-faith security research with coordinated disclosure and defined remediation targets — a responsible-disclosure program, not a paid bug bounty. The security@ intake and /.well-known/security.txt are being published now.
Security controls

How the platform is built

Every control below is implemented in our application code and our infrastructure-as-code (AWS CloudFormation) — running configuration, not aspirations.

Encryption

  • In transit: TLS 1.2+ enforced everywhere — HTTPS at the load balancer and CloudFront, HSTS headers, and the PHI database requires SSL (force_ssl).
  • At rest: AWS KMS customer-managed keys encrypt all stored data. RDS is KMS-encrypted and S3 uses SSE-KMS, with separate CMKs isolating PHI keys from CloudTrail-log keys.
  • Member identifiers are tokenized with keyed HMAC-SHA256 — analytics group and count without exposing the raw identifier.
  • Sensitive fields are encrypted with AES-256-GCM using a per-batch data-encryption key wrapped by KMS; the plaintext key exists only in memory during upload and is never stored.
  • PHI is masked in the interface (e.g. MBR-XXXX) so raw identifiers are never rendered.

Identity & Access

  • Amazon Cognito identity provider with mandatory MFA (TOTP authenticator app) for all workforce accounts.
  • Role-based access control enforces a least-privilege, minimum-necessary model; deactivated accounts cannot authenticate.
  • Cognito advanced security / threat protection (Plus tier), a strong password policy, and a self-registration domain allow-list capability.
  • Workforce access is limited to authorized members and documented in a workforce authorization record.

Audit & Accountability

  • An append-only PHI-access audit log implements HIPAA audit controls (45 CFR 164.312(b)) — recording actor, role, action, tokenized member IDs, batch, source IP, request ID, and outcome.
  • The audit table is tamper-resistant: a database trigger blocks UPDATE, DELETE, and TRUNCATE, so records cannot be altered once written.
  • Audit events are dual-written off-box to Amazon CloudWatch — an immutable second copy independent of the application database.
  • Supports HIPAA §164.528 accounting-of-disclosures reporting, including disclosures to the AI subprocessor.
  • Application logs are structured JSON with automatic redaction of sensitive patterns.

Threat Detection & Monitoring

  • AWS CloudTrail enabled multi-region and KMS-encrypted, delivered to CloudWatch Logs with log-file validation and ~6-year retention.
  • Amazon GuardDuty, AWS Security Hub, and AWS Config provide continuous threat detection, posture findings, and configuration monitoring.
  • AWS WAF (WAFv2) protects the public application and API endpoints.
  • Custom CloudWatch alarms detect high-signal events (bulk PHI access, authorization-denied) and page the Security Officer via SNS.

Network

  • Runs in a VPC with private subnets, security groups, network ACLs, and prefix lists.
  • ECS Fargate tasks run with no public IP address.
  • The PHI database is not reachable from the internet — isolated in private subnets behind the application tier.

Resilience & Continuity

  • Amazon RDS runs in a Multi-AZ configuration for high availability.
  • Backups are KMS-encrypted: RDS automated backups on a 30-day window, plus AWS Backup with daily (35-day) and monthly (365-day) retention.
  • Restore is documented and tested: a restore test recovered a database snapshot to an isolated instance in ~7.3 minutes, verifying instance-level restore, encryption, and configuration fidelity.
  • A contingency and disaster-recovery plan governs continuity procedures.

Secure Development & Supply Chain

  • CI/CD on GitHub Actions using OIDC federation — no long-lived AWS access keys. Deploys are branch-restricted (production deploys only from the main branch).
  • Container images are scanned with Trivy and Amazon ECR scan-on-push; Python dependencies are audited with pip-audit.
  • Container images run as non-root, and all infrastructure is defined as code with AWS CloudFormation.

Data Handling & AI

  • Customer data is received only under a signed BAA, with minimum-necessary applied throughout.
  • Disclosures to the AI subprocessor (Anthropic) are scoped in code per pathway: analytics requests carry aggregates only — no member identifier or token, high-cost members referenced by positional rank, and the organization name replaced by a placeholder we substitute back locally. Member-level detail is off by default: it exists only in an assistant conversation, and only when allowed for the upload and, where the upload is filed under a client, for that client, and chosen by the user when starting the conversation.
  • Two pathways are limited PHI disclosures and we say so plainly: schema detection sends a five-row file sample with identifier column values format-masked by a fail-closed classifier (real dates of service and NPIs are transmitted, because a format can only be detected from real values), and documents you upload are transmitted in full so they can be analyzed, as is the saved analysis of any contract you select in an assistant conversation. Both are covered by our executed Anthropic Business Associate Addendum and written to the accounting of disclosures. Where a customer turns on member-level detail, that assistant conversation is a limited PHI disclosure too: the assistant can read individual fill rows by masked MBR ID — at most 10 members per lookup and 3 lookups per question — with restricted drug classes withheld and web search off, and every member whose rows are sent is recorded in the accounting of disclosures.
  • All AI traffic runs through a HIPAA-configured Anthropic API organization. Model training: customer content is contractually excluded from training Anthropic's models, and RxAiAnalytics does not provide customer data to any third party to train models. Inside the platform (AWS), RxAiAnalytics runs its own statistical models on your claims: spend forecasts and member risk flags built from your own uploads, and — unless you turn it off for a client or an upload — cross-client learning, which stores only aggregate drug-to-drug transition counts with no member identifiers and uses them to calibrate the drug-progression risk flags of every participating upload. Both can be turned off per client or per upload; turning them off removes that upload's results and its contribution.
  • PHI is masked for display, and data retention and disposal are documented.

Customer content never trains Anthropic’s models — and we can tell you exactly what leaves our boundary.

AI features run on Anthropic's Claude under an executed Business Associate Addendum, through a HIPAA-configured API organization. Model training: customer content is contractually excluded from training Anthropic’s models, and RxAiAnalytics does not provide customer data to any third party to train models. Inside the platform (AWS), RxAiAnalytics runs its own statistical models on your claims: spend forecasts and member risk flags built from your own uploads, and — unless you turn it off for a client or an upload — cross-client learning, which stores only aggregate drug-to-drug transition counts with no member identifiers and uses them to calibrate the drug-progression risk flags of every participating upload. Both can be turned off per client or per upload; turning them off removes that upload’s results and its contribution. What we transmit to Anthropic is scoped per pathway and enforced in code. Analytics requests — the assistant, the claims context for contract analysis, and the plan-audit narrative — carry aggregates only (apart from the contract analysis and the optional member-level detail described below): counts, distinct-member counts, spend, and cost and utilization measures, grouped by drug and drug attributes, condition, tier, pharmacy channel and type, network, days supply, plan (as “Plan 1”, “Plan 2” …), prescriber specialty, age band, gender and month. Where the assistant’s detailed breakdowns are enabled, each breakdown group is reported with its exact counts, however small; high-cost members are referenced by positional rank (“Member #1”), and prescribers appear only as specialty with counts, never by NPI or name. No member identifier or tokenized member ID is included, and your organization's name, like client, plan and contract-file names, travels as a placeholder we substitute back locally. High-cost claimants listed in carrier reports are likewise referred to by position (“Claimant #1”), never by name or the carrier’s printed label. When you select contracts in an assistant conversation, their stored analysis is sent too, with names as placeholders; because it derives from your uploaded document, we treat it as a limited PHI disclosure under the BAA. When you continue a saved conversation, up to four of its earlier questions and answers are sent again as context. Member-level detail is off by default. It is available only in an assistant conversation, and only when it is allowed for the upload and, where the upload is filed under a client, for that client, and chosen by the user when starting the conversation — each re-checked on every question. The assistant can then read individual pharmacy fill rows for members of that one upload: the masked MBR ID the platform shows on its member screens, exact fill date, drug, NDC, GPI, therapeutic class, brand or generic, quantity, days supply, cost fields (minus any a field broker’s console masks), pharmacy channel, age band and gender — at most 10 members and 200 rows per lookup, 40 rows per member, and 3 lookups per question. That is a limited PHI disclosure under the BAA, not de-identified data. Those rows never include member names, the member or subscriber IDs in your files, Social Security numbers, dates of birth, addresses or contact details. Rows in restricted drug classes are withheld (and the assistant will not build a member list defined by one of those classes), web search is off for the whole conversation, every member whose rows are sent is recorded in the accounting of disclosures, and member-level conversation turns are deleted after 90 days. Schema detection is another pathway where that isn't the whole story, and we state it precisely: to map an uploaded file's columns we send a five-row sample in which a fail-closed classifier masks the values of every column it doesn't recognize as clinical, financial or operational — but real dates of service and provider NPIs are transmitted, because a format can only be detected from real values. Dates tied to an individual are identifiers under 45 CFR 164.514(b)(2)(i)(C), so we classify that pathway as an identifier-masked limited PHI disclosure under the BAA, not as Safe Harbor de-identified data. Documents you upload for analysis are transmitted in full so they can be analyzed securely, and may contain your organization's name. Free text is pattern-scrubbed for direct identifiers first, and PHI in free text is prohibited by our Terms. Outside member-level conversations, the assistant can also use Anthropic's web search, an in-scope covered service under the Addendum, where query content may be shared with third-party search providers. Every disclosure to the AI subprocessor is written to our §164.528 accounting of disclosures.

Subprocessors

Who else is in the data path

The third parties that support the production platform. A full buyer-facing subprocessor register is available on request; we notify affected customers before adding any new subprocessor that will process PHI.

VendorPurposePHI accessLocationAgreement & certifications
Amazon Web ServicesCloud infrastructure: compute, database, storage, identity, key management, and email (SES). Hosts all platform data, including encrypted PHI at rest.Yes · encryptedUnited States (us-east-1)BAA active (2025-06-08). SOC 2, ISO 27001, HITRUST.
Anthropic (Claude API)AI processing for the assistant, contract analysis and the plan-audit narrative. Analytics requests carry aggregates with no member identifiers or organization name, with exact counts however small; schema detection sends an identifier-masked file sample; uploaded documents (and the saved analyses of contracts selected in the assistant) are transmitted for analysis; an assistant conversation started with member-level detail, where the customer allows it, carries individual fill rows by masked MBR ID.Limited · per pathwayUnited StatesBAA accepted via a HIPAA-configured API organization; customer content contractually excluded from model training. SOC 2, published trust center.
Microsoft 365 / Exchange OnlineCompany email for rxaianalytics.com. PHI is prohibited in email by policy.NoUnited StatesMicrosoft DPA / Product Terms. SOC 2, ISO 27001, HITRUST.
GitHub (Microsoft)Source-code hosting and CI/CD (GitHub Actions). Source, build logs, and deploy metadata only — no PHI, no customer data, no secrets.NoUnited StatesStandard commercial terms. SOC 2, ISO 27001.

Reference-data sources (no PHI): the platform also queries external reference data on an outbound, read-only basis with no member context — GoodRx (retail drug pricing; drug name and quantity only), CMS/Medicaid NADAC (public dataset), and openFDA/FDA (public drug data). These receive no PHI and are not customer-data subprocessors.

Data handling

How PHI moves through the platform

Customer health data enters only through a signed BAA, keeping the data boundary tightly controlled.
Member identifiers are tokenized (HMAC-SHA256) and sensitive fields encrypted (AES-256-GCM, KMS-wrapped per-batch keys) before storage.
Minimum-necessary and role-based access apply to all PHI, and PHI is masked in the interface.
Every PHI access and disclosure is recorded in an append-only, tamper-resistant audit trail.
AI analytics requests other than the assistant’s optional member-level detail carry aggregates only — counts, distinct-member counts, spend, and cost and utilization measures, grouped by drug and drug attributes, condition, tier, pharmacy channel and type, network, days supply, plan (as “Plan 1”, “Plan 2” …), prescriber specialty, age band, gender and month. Where the assistant’s detailed breakdowns are enabled, each breakdown group is reported with its exact counts, however small; high-cost members are referenced by positional rank, and prescribers appear only as specialty. No member identifier or token is transmitted, and your organization name travels as a placeholder. Schema detection sends an identifier-masked file sample, and uploaded documents (and the saved analyses of contracts selected in the assistant) are transmitted for analysis — these are limited PHI disclosures under our executed Anthropic BAA. Member-level detail (individual fill rows by masked MBR ID, in an assistant conversation) is off by default, and a limited PHI disclosure when a customer allows it for an upload and its client and a user starts a conversation with it. Customer data never trains Anthropic’s or any third party’s models, and every disclosure is logged.
Data retention and secure disposal are governed by written policy.
Vulnerability disclosure

Report a security issue

We welcome good-faith security research under our Vulnerability Disclosure Policy. This is a responsible-disclosure program with safe harbor — not a paid bug bounty.

How to report

Email security@rxaianalytics.com with a clear description, steps to reproduce, and a proof-of-concept. Do not include any PHI or PII in your report.

The one rule that matters most

Our platform holds real people's health data. While researching you must never access, modify, download, or store any PHI or PII. Use only test accounts and synthetic data. If you encounter real data, stop immediately, do not save it, and tell us right away.

Scope

In scope: rxaianalytics.com and www.rxaianalytics.com (application + marketing) and api.rxaianalytics.com.

Out of scope: DoS / volumetric / brute-force, social engineering or phishing, physical attacks, attacks on our providers (AWS, Microsoft, Anthropic, GitHub), raw scanner output without demonstrated impact, and missing-header / version-disclosure findings without real exploitability.

Safe harbor

If you research in good faith and follow this policy, we consider your activity authorized. We will not pursue legal action — including under the CFAA or DMCA — and will not refer compliant research to law enforcement. This does not extend to accessing PHI/PII or testing out-of-scope or third-party systems.

What you can expect from us

We acknowledge reports within 3 business days, triage and validate, keep you informed, and practice coordinated disclosure (please hold public disclosure until we've fixed the issue and agreed on timing — default ~90 days). We do not offer monetary rewards, but we are glad to publicly credit researchers who report valid issues in good faith.

Critical ~30 daysHigh ~60 daysMedium ~90 daysLow best-effort

Machine-readable details: /.well-known/security.txt

Documentation

Evidence available under NDA

On request and under a mutual NDA, we share the underlying documentation that supports everything on this page.

Full written security & privacy policy set (18 policies)
HITRUST CSF e1 assessment materials — and the validated e1 report once complete
SOC 2 Type II report, once available
System & network architecture and PHI data-flow / data-map diagrams
Risk assessment and risk register / POA&M
Incident response plan and tabletop results
Contingency / DR plan and tested restore evidence
Vulnerability & patch management, access-review records, and vendor risk register
Completed security questionnaires (SIG-Lite / CAIQ) and the subprocessor register
Contact

Talk to our security team

Security & diligence

Security questions, questionnaires, or requests for NDA-gated documentation:

Security & Privacy Officer
security@rxaianalytics.com

Report a vulnerability

Good-faith security research is welcome under our Vulnerability Disclosure Policy:

security@rxaianalytics.com
/.well-known/security.txt