genai on aws for healthcare · HIPAA build guide · 2026

Building GenAI on AWS for healthcare — HIPAA, PHI, and the architecture that holds up.

A complete, neutral reference for building generative AI in a healthcare context on AWS without mishandling protected health information. What makes Amazon Bedrock HIPAA-eligible and what the AWS Business Associate Addendum (BAA) actually covers; how PHI must be handled (Guardrails PII/PHI redaction, the no-training guarantee, encryption with KMS, network isolation with PrivateLink and VPC endpoints); reference architectures for clinical and administrative use cases — documentation summarization, patient intake, and medical-coding assist; the audit, logging, and de-identification (Safe Harbor vs Expert Determination, Amazon Comprehend Medical) you need; and an explicit list of what NOT to do. The body is reference content; only the example and the offer tie back to CloudRoute.

core requirement
AWS BAA
PHI in prompts
redact or de-identify
trains base models?
no
cost to build
$0 with credits
TL;DR
  • Generative AI on AWS can be built for healthcare, but PHI changes the rules. The foundation is an executed AWS Business Associate Addendum (BAA) plus using only HIPAA-eligible services — Amazon Bedrock is HIPAA-eligible — and architecting so PHI is encrypted, access-controlled, logged, network-isolated, and never sent anywhere it should not go. The platform being eligible does not make your application compliant; that is your design.
  • Bedrock has the two properties healthcare teams care about most: your data is not used to train the underlying foundation models and stays within your AWS account and Region, and you can put a Bedrock Guardrail in front of every interaction to detect and redact PII/PHI, block out-of-scope clinical advice, and enforce grounding so the model does not invent medical claims. Add KMS encryption, VPC/PrivateLink isolation, IAM least-privilege, and full CloudTrail logging and you have a defensible PHI boundary.
  • The right architecture depends on the use case — documentation summarization, patient intake, and medical-coding assist each have a different PHI exposure and a different design. Where you can avoid PHI entirely, de-identify first (Safe Harbor or Expert Determination; Amazon Comprehend Medical can detect and redact PHI at scale). This work is specialized and easy to get wrong; CloudRoute routes you to a HIPAA-experienced AWS partner and the AWS credits that fund the build — you pay $0.
the ground rules

IHIPAA on AWS — the BAA, eligible services, and the shared-responsibility line

Before any model, prompt, or architecture, healthcare GenAI on AWS rests on three facts: you need a signed BAA, you may only put protected health information through HIPAA-eligible services, and AWS securing the cloud does not mean your application is compliant. Get these three right and everything else is engineering.

HIPAA (the U.S. Health Insurance Portability and Accountability Act) governs how protected health information (PHI) — health information tied to an identifiable individual — is used, stored, transmitted, and disclosed. If your application touches PHI and you are a covered entity (a provider, health plan, or clearinghouse) or a business associate acting for one, HIPAA applies to that application, including the generative-AI parts of it.

AWS supports HIPAA workloads, but on specific terms. First, you must execute the AWS Business Associate Addendum (BAA) — a contract in which AWS agrees to act as your business associate and to safeguard PHI according to HIPAA. The BAA is self-service to accept through AWS Artifact (for most accounts) and applies across your AWS Organization. Without an executed BAA, you should not place PHI on AWS at all, regardless of how the architecture looks.

Second, the BAA only covers HIPAA-eligible services — a defined (and growing) list of AWS services AWS has brought into scope for PHI. Amazon Bedrock is on that list, as are the services you will build around it (Amazon S3, AWS KMS, Amazon ECS/EKS/Lambda, Amazon API Gateway, Amazon CloudWatch and CloudTrail, Amazon Comprehend Medical, and more). You must architect so that PHI only ever flows through eligible services — a single non-eligible service in the PHI path (an analytics tool, a logging sink, a third-party SaaS) breaks the boundary. The eligible-services list changes; confirm current scope on the AWS HIPAA-eligible-services page before you finalize a design.

Third, and most misunderstood: HIPAA on AWS is a shared responsibility. AWS is responsible for the security of the cloud (the physical infrastructure, the eligible services themselves). You are responsible for security in the cloud — how you configure encryption, IAM, networking, logging, retention, and the application logic, including what PHI you send to a model and what you do with the response. The phrase "Bedrock is HIPAA-eligible" describes AWS's half. Your half — the architecture in the rest of this guide — is what actually determines whether your application is compliant.

the three non-negotiables

Before PHI touches a model on AWS: (1) an executed AWS BAA is in place, (2) every service in the PHI path is HIPAA-eligible (Bedrock is), and (3) you have designed your half of the shared-responsibility model — encryption, IAM, network isolation, logging, retention. Eligibility is necessary, not sufficient; compliance is your architecture.

how PHI is handled

IIHow PHI is handled on Bedrock — no-training, encryption, isolation, redaction

The reason Bedrock is a credible place to build healthcare GenAI comes down to four properties working together: your data does not train the base models, it is encrypted everywhere, it can be fully network-isolated, and a guardrail can detect and redact PHI before it is ever exposed. Each closes a specific risk.

A foundation model is only safe for PHI if you can answer four questions: does my data leak into the model? is it encrypted at rest and in transit? can someone outside my account see it? and can PHI escape in a prompt or a response? Bedrock gives a concrete answer to each.

The no-training guarantee and data isolation

The single most important property for healthcare: Amazon Bedrock does not use your prompts, completions, or any data you submit to train the underlying foundation models, and your content is not shared with the model providers (Anthropic, Meta, Mistral, Amazon, Cohere, and the rest). Your data stays within your AWS account and the Region you call; it is used only to serve your request. This is what makes it defensible to send clinical text to Bedrock that you could never send to a consumer chatbot — the data is not absorbed into a model that could later surface it to someone else. When you fine-tune or customize a model on Bedrock, the resulting custom model is private to your account as well. This property should be confirmed against current AWS documentation and reflected in your own risk assessment, but it is the published behavior and the basis of most healthcare Bedrock designs.

Encryption with AWS KMS

PHI must be encrypted in transit and at rest, and on AWS that is table stakes. Traffic to Bedrock is over TLS. Data at rest — your S3 documents, your vector store, your logs, any fine-tuning data, and Bedrock-managed artifacts — is encrypted with AWS KMS. For a HIPAA workload, use customer-managed KMS keys (CMKs) rather than the default AWS-managed keys: a CMK gives you control over the key policy, key rotation, and — importantly for audit — a CloudTrail record of every decrypt, so you can prove who (or what service) accessed encrypted PHI and when. Scope key policies to least privilege so only the specific roles that must decrypt PHI can use the key.

Network isolation — VPC endpoints and AWS PrivateLink

By default, calls to the Bedrock API traverse the public AWS endpoint over TLS. For a PHI workload you almost always want to keep that traffic off the public internet entirely using AWS PrivateLink: create a VPC interface endpoint for Bedrock so your application calls the service over a private connection inside your VPC, never routing through an internet gateway. Combine this with security groups, private subnets, and VPC endpoint policies (and S3 gateway endpoints for your document store) so the entire PHI path — application to Bedrock, application to S3, application to the vector store — stays within your private network. This is one of the highest-value controls for satisfying a security reviewer: PHI never leaves AWS's private network on its way to the model.

Guardrails — PII/PHI detection and redaction at the boundary

Even with the model isolated, you still have to control what enters and leaves it. A Bedrock Guardrail is the policy layer that does this, and it is central to a healthcare design. The sensitive-information policy detects PII/PHI — names, addresses, phone numbers, emails, national-ID and medical-record numbers, and more — in both the prompt and the response, and for each type you choose to block the interaction or redact/mask the value (replacing it with a placeholder like {NAME} or {MRN}) so the conversation continues without exposing the data. You can add custom regex patterns for organization-specific identifiers (MRNs, encounter IDs, payer member numbers). Beyond PII, the guardrail enforces denied topics (e.g., refusing to give a diagnosis or treatment recommendation when the app is informational only), content filters, the prompt-attack filter, and contextual grounding + relevance so the model does not assert medical claims unsupported by your source content. One versioned guardrail becomes the single, auditable place your AI safety and PHI policy lives — see the amazon-bedrock-guardrails and amazon-bedrock-guardrails-pii-redaction siblings for the full mechanics.

PHI-handling controls on Bedrock · what each closes · representative as of 2026
ControlRisk it closesAWS mechanismHealthcare-specific note
No-training guaranteePHI absorbed into a shared modelBedrock data-handling (account/Region-scoped)Why clinical text can go to Bedrock but not a consumer chatbot
Encryption at restPHI readable on disk / in storageAWS KMS — use customer-managed keys (CMKs)CMK gives key control + a CloudTrail decrypt audit trail
Encryption in transitPHI intercepted on the wireTLS to all endpointsPair with PrivateLink to also avoid the public internet
Network isolationPHI traversing the public internetPrivateLink + VPC interface/gateway endpointsKeeps the whole PHI path inside your VPC
Guardrails PII/PHI redactionPHI leaking in a prompt or responseSensitive-info policy (block/redact) + custom regexRedact MRNs/encounter IDs both directions
Guardrails denied topics + groundingOut-of-scope advice / hallucinated claimsDenied topics + contextual grounding thresholdsKeep informational apps from "diagnosing"
IAM least-privilegeOver-broad access to PHI + modelsIAM roles/policies, scoped KMS key policyOnly the roles that must touch PHI can
Audit loggingNo evidence of who accessed PHICloudTrail + CloudWatch + Bedrock invocation loggingThe evidence a HIPAA audit expects
These controls compose — no single one is sufficient. The defensible pattern is all of them together: BAA + eligible services + no-training + KMS (CMK) + PrivateLink + a PHI-aware Guardrail + least-privilege IAM + full logging. Confirm current service behavior and eligibility on the AWS compliance pages.
reference architectures

IIIReference architectures for clinical and administrative use cases

PHI exposure is not uniform — it depends entirely on what the application does. The three most common healthcare GenAI use cases — documentation summarization, patient intake, and medical-coding assist — each have a different PHI profile and therefore a different reference architecture. The discipline is to match the controls to the actual exposure.

A useful framing: every healthcare GenAI architecture is some combination of "minimize the PHI that reaches the model," "isolate and encrypt the path it travels," "constrain what the model can say," and "log everything." What changes between use cases is the emphasis. The three patterns below show that emphasis shifting.

Clinical documentation summarization (PHI-heavy, internal)

The use case: summarize clinical notes, visit transcripts, or a longitudinal record into a concise note for a clinician — an internal, clinician-facing assistant. PHI exposure is high (the input is clinical text full of PHI) but the audience is trusted (licensed staff), which shifts the design toward isolation and grounding rather than aggressive redaction. Reference shape: source documents in an encrypted (CMK) S3 bucket; the application runs in a private VPC and calls Bedrock over a PrivateLink endpoint; a generation model (e.g., Claude on Bedrock for strong long-document reasoning) produces the summary; a Guardrail enforces grounding (the summary must follow from the note, not invent findings) and the prompt-attack filter, with PII redaction tuned conservatively since clinicians need to see patient identifiers; every invocation is logged to CloudTrail/CloudWatch with the user identity. Because the output is clinical, treat it as decision-support, keep a clinician in the loop, and never let the summary auto-populate the record without review.

Patient intake / patient-facing assistant (PHI in, public-facing)

The use case: a patient-facing assistant that collects intake information, answers benefits or scheduling questions, or triages symptoms to the right resource. Exposure is two-directional and the audience is untrusted — patients will type PHI into prompts, and the assistant must never emit one patient's PHI to another or give clinical advice it is not authorized to give. This is the design where Guardrails work hardest: PII/PHI detection set to redact so collected identifiers are masked before storage/logging; denied topics for "diagnosis" and "treatment recommendation" if the app is informational; the prompt-attack filter on (public input is hostile by default); and, for any answers drawn from clinical or plan content, a Knowledge Base with contextual-grounding thresholds so answers are cited and supported. Strict per-user/session isolation in retrieval prevents cross-patient leakage. Authenticate before collecting PHI, and surface a human-handoff path for anything clinical.

Medical-coding assist (PHI-heavy, accuracy-critical, RAG-backed)

The use case: suggest ICD-10 / CPT / HCPCS codes from clinical documentation to assist (not replace) a certified coder. Exposure is high and the bar is accuracy and auditability, because miscoding has financial and compliance consequences. Reference shape: a retrieval-augmented design (see the rag-on-aws sibling) where the model is grounded in the actual coding guidelines and the patient's documentation rather than relying on parametric memory; the model proposes codes with the supporting passage cited; a Guardrail enforces grounding and redacts PHI from any logs; and the proposed codes are always reviewed and confirmed by a human coder, with that decision logged. The point of the GenAI here is to accelerate and support a credentialed human, never to auto-submit codes — both for compliance and because grounded suggestions with citations are far more useful to a coder than an unexplained label.

healthcare genai use cases on aws · PHI profile + architecture emphasis
Use caseAudiencePHI exposureArchitecture emphasisKey AWS pieces
Clinical documentation summarizationClinicians (trusted)High (input is clinical text)Isolation + grounding; human review of outputBedrock (Claude) + PrivateLink + KMS + Guardrail (grounding)
Patient intake / patient assistantPatients (untrusted)Two-directionalRedaction + denied topics + prompt-attack + per-session isolationBedrock + Guardrail (PII-redact) + Knowledge Base + auth
Medical-coding assistCertified coders (trusted)High + accuracy-criticalRAG grounding + citations + mandatory human confirmBedrock + Knowledge Base (coding guidelines) + Guardrail + audit
Admin / back-office (claims, prior-auth drafts)Staff (trusted)VariableDe-identify where possible + grounding + loggingComprehend Medical (de-id) + Bedrock + Guardrail
The constant across all four: BAA + eligible services + encryption + isolation + logging. What varies is whether the emphasis is redaction (untrusted audience), grounding/citations (accuracy-critical), or de-identification (PHI can be removed). Always keep a human in the loop for anything clinical.
removing PHI entirely

IVDe-identification — the strongest control is not sending PHI at all

The most robust way to handle PHI in a generative-AI pipeline is, where the use case allows, to remove it before the model ever sees it. De-identified data is no longer PHI under HIPAA, which dramatically shrinks your risk surface. HIPAA defines two recognized methods, and AWS provides a service purpose-built to help.

De-identification is not always possible — a clinician summarizing a specific patient's record needs the identifiers — but for analytics, model evaluation, prompt-engineering datasets, training/fine-tuning corpora, and many administrative tasks, you can often strip PHI first. When you can, do: it is the single highest-leverage way to reduce compliance scope, because HIPAA simply stops applying to properly de-identified data.

The two HIPAA de-identification methods

Safe Harbor is the prescriptive method: remove the 18 specified categories of identifiers (names; geographic subdivisions smaller than a state; all date elements more specific than year for dates directly related to an individual; phone/fax numbers; email; SSNs; medical-record numbers; health-plan beneficiary numbers; account numbers; certificate/license numbers; vehicle and device identifiers; URLs and IP addresses; biometric identifiers; full-face photos; and any other unique identifying number, characteristic, or code) and have no actual knowledge that the remaining information could re-identify the individual. Expert Determination is the statistical method: a qualified expert applies accepted statistical or scientific principles and documents that the risk of re-identification is very small. Safe Harbor is simpler and more common for engineering pipelines; Expert Determination is used when you need to retain more granularity (e.g., specific dates) than Safe Harbor allows. Which method you use is a compliance decision to make with counsel, not an engineering default.

Amazon Comprehend Medical for PHI detection and redaction

Amazon Comprehend Medical is a HIPAA-eligible NLP service that extracts information from unstructured clinical text — and, critically here, it has a PHI detection (DetectPHI) capability that identifies protected health information so you can redact or replace it programmatically at scale. The common pattern is a pre-processing step: run source documents through Comprehend Medical to detect PHI, redact or tokenize the detected entities, and only then pass the de-identified text into your Bedrock pipeline for summarization, classification, or RAG. This pairs naturally with Guardrails — Comprehend Medical de-identifies the corpus up front, and the Guardrail catches anything that slips through at inference time, giving you defense-in-depth rather than a single point of failure. As with any automated detector, validate recall on your own documents; de-identification you rely on for compliance should be tested, not assumed.

the de-identification rule of thumb

If the use case does not genuinely need identifiers, de-identify before the model sees the data — properly de-identified data is no longer PHI, so HIPAA stops applying and your risk surface shrinks. Use Safe Harbor (remove the 18 identifier categories) or Expert Determination (documented statistical method) per your compliance team, and Amazon Comprehend Medical to detect/redact PHI at scale. Keep Guardrails on anyway as a second layer.

evidence + access control

VAudit, logging, access control, and retention

HIPAA does not just require that PHI be protected — it requires that you can prove it. The audit and access-control layer is what turns a secure architecture into a defensible one, and it is exactly what a HIPAA assessment, an OCR inquiry, or a hospital security review will ask to see.

Three obligations drive this layer: access to PHI must be least-privilege and authenticated; every access and inference must be logged immutably; and PHI must be retained and disposed of according to policy. AWS provides a direct mechanism for each.

  • IAM least-privilege + authentication — Scope IAM roles so only the specific application roles that must invoke Bedrock or read PHI can do so, and scope the KMS key policy to match. Use short-lived credentials (roles, not long-lived keys), require authentication before any PHI is collected, and separate duties (the role that reads PHI is not the role that administers the account).
  • CloudTrail — the API audit trail — CloudTrail records every API call across your account, including Bedrock invocations and KMS decrypts. This is the backbone of your audit evidence: who (which identity) did what, when. Send it to a dedicated, access-restricted, immutable log bucket (consider Object Lock) so the audit trail itself cannot be tampered with.
  • Bedrock invocation logging — Bedrock can log model invocations (request/response metadata, and optionally the content) to CloudWatch Logs and/or S3. For PHI, be deliberate: logging full prompt/response content captures PHI into the logs, so encrypt those logs with a CMK, restrict access tightly, set retention, and prefer redacted logging (log after the Guardrail has redacted) where you do not need the raw content for debugging.
  • CloudWatch — operational + access monitoring — Use CloudWatch metrics and alarms to detect anomalies — unusual invocation volume, access from unexpected roles, Guardrail block-rate spikes — and to alert on them. Monitoring is both an operational and a compliance control.
  • Retention and disposal — Define how long PHI (and PHI-bearing logs, prompts, and fine-tuning data) is retained, and enforce it with S3 lifecycle policies and log retention settings. Disposal must be deliberate: when PHI ages out, it should actually be deleted, and CMK key management lets you make encrypted data unrecoverable by destroying keys where appropriate.
  • A versioned Guardrail as audit evidence — Because a Bedrock Guardrail is versioned and immutable per version, you can demonstrate exactly which PHI/safety policy was in force at any point in time — the kind of change-control evidence a SOC 2 or HIPAA assessor expects. Define it in infrastructure-as-code and reference a specific version at inference time.
the failure modes

VIWhat NOT to do — the healthcare GenAI mistakes that break compliance

Most healthcare GenAI compliance failures are not exotic — they are a short list of avoidable mistakes. Knowing them is as valuable as knowing the architecture, because any one of them can turn a well-built system into a breach.

These are the patterns a HIPAA-experienced reviewer looks for first. Each has a simple fix already covered above; the failure is almost always omission, not impossibility.

  • Do NOT send PHI to a model without a BAA in place — No executed AWS BAA means no PHI on AWS — full stop. And never send PHI to a consumer AI product or any service not covered by a BAA and not on the HIPAA-eligible list. The eligible-services boundary is hard, not advisory.
  • Do NOT assume "Bedrock is HIPAA-eligible" makes your app compliant — Eligibility is AWS's half of shared responsibility. Misconfigured IAM, a public S3 bucket, missing encryption, no logging, or an unredacted patient-facing assistant are all your half — and all common. The platform being eligible says nothing about your configuration.
  • Do NOT log raw prompts/responses containing PHI without protection — Verbose invocation logging is a frequent silent leak: PHI lands in CloudWatch/S3 logs that are under-protected. If you log content, encrypt with a CMK, restrict access, set retention, and prefer logging after redaction.
  • Do NOT let the model give clinical advice it is not authorized to give — An informational assistant that drifts into diagnosis or treatment recommendation is a clinical and liability problem. Use denied topics to keep it in scope, ground answers in vetted content, and keep a clinician in the loop for anything clinical.
  • Do NOT trust ungrounded model output for clinical or coding decisions — Hallucinated findings or codes are dangerous. Use RAG to ground answers in source material, require citations, set contextual-grounding thresholds, and make a credentialed human the one who confirms any clinical or coding output — never auto-apply it.
  • Do NOT skip de-identification when the use case allows it — Sending full PHI to a model when de-identified data would do needlessly expands your risk surface. For analytics, evaluation, and training data, de-identify first (Safe Harbor / Expert Determination, Comprehend Medical) so HIPAA stops applying.
  • Do NOT route PHI over the public internet or through a non-eligible service — Skipping PrivateLink, or piping PHI through an analytics/observability/SaaS tool that is not HIPAA-eligible, breaks the boundary. Keep the entire PHI path inside your VPC and inside eligible services.
  • Do NOT treat the build as set-and-forget — Thresholds drift, new jailbreaks appear, models and eligible-service scope change, and staff access changes. PHI redaction, grounding, IAM, and the eligible-services list all need ongoing review — compliance is operated, not shipped once.
the build, in order

VIIPutting it together — a HIPAA-ready build outline

Here is the order a HIPAA-experienced team actually builds in: contracts and scope first, then the secure foundation, then the model layer, then the controls, then the evidence. Skipping ahead to the model is the most common way teams end up reworking everything.

  • Step 1 — Execute the BAA and fix the eligible-services boundary — Accept the AWS BAA (AWS Artifact) across your Organization, and decide the exact set of HIPAA-eligible services your PHI will flow through (Bedrock, S3, KMS, Comprehend Medical, your compute, CloudTrail/CloudWatch). Anything outside that set must never touch PHI.
  • Step 2 — Stand up the secure foundation — Private VPC with private subnets; PrivateLink (VPC interface endpoints) for Bedrock and gateway endpoints for S3; customer-managed KMS keys for every PHI store; least-privilege IAM roles; CloudTrail to an immutable, access-restricted log bucket. Build this before any model call.
  • Step 3 — De-identify where the use case allows — For analytics, evaluation, and training/fine-tuning datasets, run source text through Amazon Comprehend Medical to detect and redact PHI (Safe Harbor or Expert Determination per your compliance team) so those paths never carry PHI at all.
  • Step 4 — Build the model layer — Enable model access in your Region, pick a generation model (e.g., Claude for clinical reasoning; see the model siblings), and for grounded use cases (coding assist, patient answers) build a Bedrock Knowledge Base over vetted clinical/coding content. Call Bedrock only over the PrivateLink endpoint.
  • Step 5 — Put a PHI-aware Guardrail in front of everything — One versioned Guardrail: sensitive-info detection set to redact (with custom regex for MRNs/encounter IDs), denied topics for out-of-scope clinical advice, content + prompt-attack filters on, and contextual-grounding/relevance thresholds for any RAG answers. Define it in IaC; reference the version explicitly.
  • Step 6 — Wire audit, monitoring, and retention — Turn on Bedrock invocation logging (encrypted, restricted, redacted where possible), CloudWatch alarms on anomalies and Guardrail block-rates, and lifecycle/retention policies for PHI and PHI-bearing logs. Make the version history of your Guardrail part of the evidence pack.
  • Step 7 — Test adversarially, keep humans in the loop, then operate — Build a test set of benign, PHI-laden, jailbreak, and out-of-scope cases; tune thresholds against it and keep it as a regression suite. Ensure a credentialed human confirms any clinical or coding output. Then operate it — review thresholds, access, and eligible-service scope on a schedule.
do this, not that

HIPAA-ready vs risky — the same GenAI build, two ways

The gap between a defensible healthcare GenAI build and a compliance incident is a handful of specific decisions. This is the same application configured the safe way versus the way teams get it wrong — read the left column as the standard and the right column as the failure mode to avoid.

Decision pointHIPAA-ready (do this)Risky (avoid)Why it matters
ContractExecuted AWS BAA before any PHIPHI on AWS with no BAANo BAA = not permitted to place PHI at all
Services in the PHI pathOnly HIPAA-eligible services (Bedrock, S3, KMS, Comprehend Medical…)A non-eligible analytics/SaaS/logging tool in the pathOne non-eligible service breaks the boundary
Model data handlingBedrock — no training on your data, account/Region-scopedA consumer chatbot or unvetted APIConsumer tools may absorb/expose PHI
EncryptionCustomer-managed KMS keys (CMK) + TLSDefault keys, or unencrypted stores/logsCMK gives control + a decrypt audit trail
NetworkPrivateLink / VPC endpoints — PHI stays privatePublic Bedrock endpoint over the internetKeeps PHI off the public internet
Prompt/response safetyGuardrail: PII/PHI redact + denied topics + groundingRaw model calls, no redaction or scope limitsStops PHI leaks + hallucinated/out-of-scope advice
LoggingCloudTrail + redacted, encrypted invocation logsVerbose raw-PHI logs, under-protectedLogs are a classic silent PHI leak
Human oversightClinician/coder confirms clinical + coding outputAuto-apply model output to record/claimsGenAI assists credentialed humans, never replaces them
Every "risky" cell is a real, common mistake with a simple fix in the "HIPAA-ready" column. The throughline: eligibility is necessary but not sufficient — compliance is the sum of these decisions, and a human stays in the loop for anything clinical.
before any PHI touches a model
Get AWS credits that cover Bedrock — and a HIPAA-experienced partner to build it (you pay $0)
Get matched in 24h →
a recent match

A HIPAA-ready clinical-documentation assistant, built on $0 — anonymized

inquiry · seed-stage digital-health startup, Boston
Seed-stage digital-health startup, 16 people, building a clinician-facing documentation assistant for outpatient clinics

Situation: The team wanted an assistant that summarized visit notes and prior records into a clean draft note for clinicians — but it was squarely a PHI workload, and they had no BAA, no PHI-safe architecture, and no compliance story to show the clinics evaluating them. They could not risk PHI leaking into logs or into a model that might surface it elsewhere, the assistant could not drift into making diagnoses, and the two engineers who could build it were fully committed to the core product. On top of that, the projected Bedrock and infrastructure bill made the founder hesitant to start while pre-revenue.

What CloudRoute did: CloudRoute matched them in under 24 hours to an AWS partner with HIPAA and Bedrock experience. The partner executed the AWS BAA, scoped the build to HIPAA-eligible services only, and stood up the secure foundation: a private VPC with PrivateLink to Bedrock and gateway endpoints to S3, customer-managed KMS keys on every PHI store, least-privilege IAM, and CloudTrail to an immutable log bucket. They built the summarizer on Claude on Bedrock with a single versioned Guardrail in front — PII/PHI detection (custom regex for MRNs and encounter IDs), denied topics covering "diagnosis" and "treatment recommendation," prompt-attack and content filters on, and contextual-grounding thresholds so the draft note could not assert findings not in the source. Invocation logging was encrypted and redacted, an adversarial test set drove threshold tuning, and a clinician-review step was mandatory before any draft reached the record. The partner also filed a Bedrock POC credit application plus an Activate application to fund the build.

Outcome: The assistant produced grounded draft notes, redacted PHI in logs, refused out-of-scope clinical advice, and gave the team a versioned policy artifact plus a logging/IAM/encryption story to put in front of the clinics' security reviewers. The build and the first months of inference ran entirely on approved AWS credits, so the team paid $0 out of pocket. CloudRoute's commission was paid by the partner from AWS engagement funding, not by the customer.

foundation: BAA + PrivateLink + CMK + least-privilege IAM · guardrail: PHI-redact + denied topics + grounding · human-in-the-loop · credits: POC + Activate · out-of-pocket: $0

faq

Common questions

Is Amazon Bedrock HIPAA-eligible, and can I use it with PHI?
Yes — Amazon Bedrock is a HIPAA-eligible AWS service, so you can use it with protected health information provided you have executed the AWS Business Associate Addendum (BAA) and you keep PHI within HIPAA-eligible services and a compliant architecture. Bedrock being eligible is AWS's half of the shared-responsibility model; you are still responsible for encryption (KMS), network isolation (PrivateLink/VPC endpoints), least-privilege IAM, logging (CloudTrail), and what PHI you actually send to and receive from the model. Confirm current eligible-service scope on the AWS HIPAA-eligible-services page, and validate your specific design with your compliance team.
Does Amazon Bedrock use my healthcare data to train its models?
No. Amazon Bedrock does not use your prompts, completions, or submitted data to train the underlying foundation models, and your content is not shared with the model providers. Your data stays within your AWS account and the Region you call, used only to serve your request, and any model you fine-tune is private to your account. This no-training, account/Region-scoped behavior is the main reason clinical text can be sent to Bedrock when it could never be sent to a consumer chatbot — but you should still confirm the current behavior against AWS documentation and reflect it in your own risk assessment.
What is the AWS BAA and do I need one for healthcare GenAI?
The AWS Business Associate Addendum (BAA) is the contract in which AWS agrees to act as your business associate under HIPAA and to safeguard PHI. If your application touches PHI, you need an executed BAA before placing any PHI on AWS — including in any generative-AI component. For most accounts the BAA is self-service through AWS Artifact and applies across your AWS Organization. The BAA only covers HIPAA-eligible services, so the BAA and the eligible-services boundary go together: with a BAA in place, keep PHI strictly within eligible services (Bedrock, S3, KMS, Comprehend Medical, your compute, CloudTrail/CloudWatch, and so on).
How do I stop PHI from leaking into prompts or model responses?
Put a Bedrock Guardrail in front of every interaction. Its sensitive-information policy detects PII/PHI — names, addresses, contact details, national-ID, medical-record numbers, and more — in both the prompt and the response, and you set each type to block or redact (mask) the value, with custom regex for your own identifiers like MRNs and encounter IDs. Combine that with denied topics (to refuse out-of-scope clinical advice), the prompt-attack filter (for patient-facing apps), and contextual-grounding thresholds (so the model does not invent medical claims). For data you do not need identified, de-identify up front with Amazon Comprehend Medical so PHI never reaches the model at all — defense-in-depth, not a single filter.
How should I architect the network and encryption for a PHI workload on Bedrock?
Encrypt PHI in transit (TLS to all endpoints) and at rest with AWS KMS using customer-managed keys (CMKs) — CMKs give you key-policy control, rotation, and a CloudTrail record of every decrypt for audit. Keep the traffic private with AWS PrivateLink: a VPC interface endpoint for Bedrock plus gateway endpoints for S3, inside private subnets, so the whole PHI path stays off the public internet and within your VPC. Add least-privilege IAM (only the roles that must touch PHI can, with a matching scoped KMS key policy) and endpoint policies. This combination — CMK + PrivateLink + least-privilege — is what most security reviewers expect to see.
What are the main healthcare use cases for GenAI on AWS, and do they differ architecturally?
The common ones are clinical documentation summarization (clinician-facing; high PHI; emphasis on isolation, grounding, and human review), patient intake / patient-facing assistants (untrusted audience; two-directional PHI; emphasis on redaction, denied topics, the prompt-attack filter, and per-session isolation), and medical-coding assist (accuracy-critical; RAG-grounded in coding guidelines with citations and mandatory human confirmation). Administrative tasks like claims or prior-auth drafting often allow de-identification first. They share the same foundation — BAA, eligible services, encryption, isolation, logging — but differ in whether the emphasis is redaction, grounding/citations, or de-identification. A human stays in the loop for anything clinical.
What is de-identification and how does Amazon Comprehend Medical help?
De-identification removes identifiers so data is no longer PHI under HIPAA, which means HIPAA stops applying and your risk surface shrinks. HIPAA recognizes two methods: Safe Harbor (remove the 18 specified identifier categories with no actual knowledge that re-identification is possible) and Expert Determination (a documented statistical method showing very small re-identification risk). Amazon Comprehend Medical is a HIPAA-eligible NLP service whose PHI-detection capability identifies protected health information in unstructured clinical text so you can redact or tokenize it at scale before it ever reaches your Bedrock pipeline. Use it for analytics, evaluation, and training datasets, validate its recall on your own documents, and keep Guardrails on as a second layer.
What should I NOT do when building healthcare GenAI on AWS?
Do not send PHI to any model without an executed BAA, and never to a consumer AI tool or a non-HIPAA-eligible service. Do not assume "Bedrock is HIPAA-eligible" makes your app compliant — misconfigured IAM, public buckets, missing encryption, no logging, or an unredacted patient assistant are all your responsibility. Do not log raw PHI-bearing prompts/responses without encryption, access control, and retention (prefer logging after redaction). Do not let an informational assistant drift into diagnosis, do not trust ungrounded output for clinical or coding decisions (use RAG, citations, and a human confirm), do not skip de-identification when the use case allows it, and do not route PHI over the public internet — use PrivateLink.
How much does HIPAA-ready GenAI on AWS cost, and can AWS credits cover it?
The cost is the underlying Bedrock model tokens plus the supporting services (KMS, PrivateLink endpoints, your vector store and compute for RAG, logging, and Comprehend Medical for de-identification) — the model tokens usually dominate, and Guardrails add a small per-evaluation charge on top. Figures move, so confirm current rates on the AWS pricing pages. The good news: this is all AWS-credit-eligible. CloudRoute routes you to the right credit pool (Activate up to $100K, Bedrock/GenAI POC $10K–$50K, GenAI Accelerator up to $1M) and a vetted, HIPAA-experienced AWS partner who builds the compliant workload — the BAA, the secure foundation, the PHI-aware Guardrail, the audit trail — so it costs $0 to build.

Stop reading about HIPAA on AWS — get the compliant build funded

Whatever your HIPAA-ready GenAI workload would cost on Bedrock, AWS credits can cover it. CloudRoute routes you to the right credit pool (Activate up to $100K, Bedrock POC $10K–$50K, GenAI Accelerator up to $1M) and a vetted, HIPAA-experienced AWS partner who builds it right — BAA, PrivateLink, KMS, PHI redaction, grounding, and the audit trail. Customer pays $0.

matched within< 24h
GenAI credit ceilingup to $1M
cost to you$0
GenAI on AWS for healthcare — the HIPAA build guide (2026) · CloudRoute