A HIPAA BAA Does Not Cover Your Whole AI Workflow
A signed agreement can cover Amazon Bedrock while leaving prompt logs, application code, and downstream tools outside a safe design. The unit to review is the full data path.
August 9, 2026 · 9 min read

Consider one plausible clinic workflow. A scheduler exports an outpatient encounter note, an AWS Lambda function places that note into a prompt for Amazon Bedrock, and a model drafts discharge instructions for a clinician to review in the electronic health record. The organization has accepted an AWS business associate addendum, commonly called a BAA, which allocates HIPAA responsibilities between a covered organization and a vendor handling protected health information, or PHI.
That agreement matters. Amazon Bedrock appears on AWS’s list of HIPAA-eligible services, and AWS documentation says prompts and model responses are not used to train the underlying models or distributed to model providers. None of that settles whether this discharge workflow is compliant.
The review has to follow the encounter note. It passes through export code, Lambda, Bedrock, application logs, storage, identity controls and the EHR import. A developer may also have written a line that places the entire request body in Amazon CloudWatch Logs when an invocation fails. The BAA does not inspect that line, remove unnecessary patient fields or stop a later integration from forwarding the draft to an uncovered support tool.
The agreement sets a boundary, not an approval state
AWS states the service restriction directly in its HIPAA Eligible Services Reference:
“Customers may use any AWS service in an account designated as a HIPAA Account, but they should only process, store, and transmit PHI in the HIPAA Eligible Services defined in the AWS BAA.”
The operative words are “HIPAA Eligible Services.” A signed BAA is not a blanket statement that every AWS product, account, feature or external integration may receive PHI. The customer still has to establish that the agreement covers the relevant account and that each AWS service touching the data appears on the current eligible-services list.
For the clinic, checking Bedrock alone is too narrow. Lambda handles the note before the model does. CloudWatch may receive diagnostic output. Amazon S3 could hold failed jobs, while AWS Key Management Service controls encryption keys and identity policies determine which staff or workloads can retrieve the records.
If the application sends model output through a third-party translation API or ticketing system, that vendor creates another contractual and technical boundary.
Eligibility also differs from availability. A model or Bedrock feature may not be offered in every region, and an eligible service can still be configured badly. The architecture record should identify the region, model access method, account, storage locations and enabled features rather than treating “Bedrock” as one undifferentiated box.
The logging switch changes the data map
Amazon Bedrock model invocation logging is disabled by default. When enabled, AWS documentation says it can collect invocation metadata, model input and model output, then deliver records to CloudWatch Logs or S3. That is useful for debugging and evaluation, but it creates additional copies of whatever the clinic placed in the prompt.
The distinction between invocation logging and AWS CloudTrail matters here. CloudTrail records API activity for auditing, including which identity called a service and which operation it requested. Model invocation logging can capture the payload itself. The clinic’s application can create a third trail independently if its Lambda code prints the prompt, response or exception context.
Return to the failed discharge job. The model call times out, and the application writes `request_body` to CloudWatch so an engineer can reproduce the error. That field contains the encounter note. Even if Bedrock’s invocation logging remains off, PHI now sits in a log group whose retention period, encryption key, access policy and export destinations require review.
Turning payload logging off reduces exposure and storage, but it also removes evidence that may be needed to investigate a harmful output. Leaving it on supports replay, quality review and incident analysis, while raising storage costs and expanding the set of people and systems that can see PHI. A workable compromise may log request identifiers, model identifiers, timing, status codes and a controlled error category while keeping raw clinical text in a separately governed review store, if the organization determines that retaining samples is necessary.
That choice must be implemented in code as well as in the Bedrock settings screen. A platform team can disable model invocation logging and still lose control because an application framework records prompts by default, an observability collector exports traces to another vendor, or a developer copies a production failure into a general engineering channel.
Downstream tools can break an otherwise covered path
The first version of the clinic workflow returns the draft directly to the EHR. Later, the team adds a language-quality check and sends Spanish drafts to an external editing service. Bedrock remains eligible, the AWS BAA remains signed, and the relevant AWS settings have not changed. The data path has changed.
A workflow inventory should therefore describe destinations rather than product names alone. Bedrock Agents, for example, can call action groups backed by Lambda, and a retrieval system can query a knowledge base before producing an answer. Each call can expose part of the prompt, retrieved record or generated response. The organization needs to know whether the receiving service is covered, whether the call includes PHI, what that service logs and whether the response is persisted elsewhere.
This is also where test and production environments diverge. A production AWS account may sit within the organization’s BAA scope and use restricted roles, while a developer’s sandbox sends copied encounter notes to an account or SaaS tracing dashboard that was never approved for PHI. Synthetic test data avoids that transfer, provided it is genuinely synthetic rather than a lightly edited patient record.
For the discharge workflow, the safer fallback is mundane: if an approved model endpoint or downstream component is unavailable, route the note back to the clinician’s existing drafting process. Sending it through an unreviewed consumer chatbot to clear a queue is not an operational fallback.
Minimum necessary starts before the prompt
HIPAA’s minimum-necessary standard generally requires covered entities and business associates to limit uses, disclosures and requests for PHI to what is needed for the intended purpose, subject to the rule’s details and exceptions. A BAA does not decide which fields the model needs.
The clinic’s export contains the patient’s name, full address, insurance identifiers, phone number, medication list, diagnoses and clinician narrative. Drafting discharge instructions may require the medications, relevant diagnoses, treatment details and follow-up plan. Billing identifiers and a street address are unlikely to improve the draft. Removing them before the Lambda function builds the prompt reduces what reaches Bedrock, logs and any later tool.
Field removal has a tradeoff. Over-redaction can erase facts that alter clinical meaning, such as age, pregnancy status, dosage units or a follow-up location. A deterministic filter, meaning code that removes specified fields according to fixed rules, is easier to audit than asking another model to guess what is sensitive. It still needs tests against the clinic’s note formats, because important facts can appear in free text rather than labeled database columns.
De-identification is a separate claim and should not be used casually. Replacing a patient’s name while leaving dates, rare diagnoses and narrative details does not automatically make a record de-identified under HIPAA. If the workflow still handles PHI, its controls should reflect that fact.
A review record that follows the encounter note
Before launch, the clinic can create a one-page data-path record tied to the discharge workflow. It should name the AWS accounts and regions covered by the BAA; confirm that Bedrock and every AWS component handling PHI appear on the current eligible-services list; record whether invocation, application and audit logs contain payloads; identify retention, encryption and access settings; and document every external destination.
The same record should show which encounter fields enter the prompt and why. It should state whether model output is written automatically to the chart or held for clinician approval, how rejected drafts are stored, and what happens when the endpoint fails. Human review costs staff time and slows delivery, but discharge text is a poor place to let an unsupported dose or invented follow-up instruction pass directly into patient-facing material.
Finally, test the record against the running system. Send a synthetic encounter with a unique marker, trace where that marker appears, inspect CloudWatch and S3, then check observability exports and error queues. Configuration evidence is stronger than a diagram that assumes the logging line was removed.
This analysis is not legal advice. HIPAA obligations depend on the organization, data, purpose and contractual terms, while state law and other rules may add requirements. The engineering decision is narrower and testable: no PHI enters the discharge workflow until its complete route, including the failed-request log, has an owner and an approved destination.
Questions people ask
Does a
HIPAA BAA mean I can send PHI to any model from that vendor?
No. The agreement’s scope, the vendor’s eligible-services documentation and the configured data path all matter. For AWS, confirm that the account is covered and every service handling PHI is HIPAA eligible; then review the selected model feature, region, storage and external integrations separately.
Should model prompts and responses be logged for audits?
There is no universal configuration. Payload logs can help reconstruct bad outputs, but they also create more PHI copies with their own access, encryption and retention requirements. Many teams can preserve invocation identity, timing and status metadata while restricting raw prompt samples to a smaller, purpose-built review store.
Is removing a patient’s name enough to use the note outside a covered service?
No. Clinical narratives can remain identifiable through dates, locations, unusual conditions and other details. Treat the note as PHI unless the organization has applied and documented an appropriate de-identification method; replacing direct identifiers alone does not establish that result.
What should happen if the approved AI service is unavailable?
The fallback should keep the encounter inside an approved path. In this workflow, that means returning drafting to the clinician or queueing the job in governed storage, rather than copying the note into an unreviewed chatbot, personal account or support system to avoid a delay.
One story a day
The story of the day, in your inbox
One real story about AI each morning — no hype, no alarm, just company for the road.



