You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: fern/assistants/structured-outputs-quickstart.mdx
+151Lines changed: 151 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -647,6 +647,157 @@ The extracted data (the `result` field from the API response) will look like thi
647
647
When accessing via API, this data is nested inside the structured output object at `call.artifact.structuredOutputs[outputId].result`. The Dashboard shows the complete structure including the output ID and name.
648
648
</Note>
649
649
650
+
## HIPAA Compliance & Storage Settings
651
+
652
+
<Warning>
653
+
**Important for HIPAA users:** When HIPAA mode is enabled, Vapi does not store structured outputs by default. This protects privacy but limits your ability to view structured outputs in Insights and Call Logs.
654
+
</Warning>
655
+
656
+
### Understanding the default behavior
657
+
658
+
When your organization or assistant has HIPAA mode enabled (`hipaaEnabled: true`):
659
+
-**Structured outputs are NOT stored** - Results are generated but not persisted in Vapi's systems
660
+
-**Limited visibility** - You cannot view outputs in the Dashboard's Call Logs or Insights
661
+
-**Privacy first** - This ensures sensitive data is not retained
662
+
-**Webhook access only** - You can still receive outputs via webhooks during the call
663
+
664
+
This default behavior protects patient privacy and ensures compliance with HIPAA regulations.
665
+
666
+
### Enabling storage for non-sensitive outputs
667
+
668
+
For structured outputs that extract **non-sensitive, non-PHI information**, you can override this behavior using the `compliancePlan.forceStoreOnHipaaEnabled` setting.
669
+
670
+
<Warning>
671
+
**Your responsibility:** You must ensure that any structured output with storage enabled does NOT extract or generate PHI or sensitive data.
672
+
</Warning>
673
+
674
+
#### Safe use cases for storage override
675
+
676
+
Enable storage for these types of non-sensitive outputs:
description="Boolean indicator of whether appointment was booked",
766
+
schema={
767
+
"type": "boolean",
768
+
"description": "Whether an appointment was successfully booked during the call"
769
+
},
770
+
compliance_plan={
771
+
"forceStoreOnHipaaEnabled": True
772
+
}
773
+
)
774
+
775
+
# Update existing structured output to enable storage
776
+
vapi.structured_outputs.update(
777
+
structured_output.id,
778
+
compliance_plan={
779
+
"forceStoreOnHipaaEnabled": True
780
+
}
781
+
)
782
+
```
783
+
</Tab>
784
+
</Tabs>
785
+
786
+
<Warning>
787
+
**IMPORTANT:** Only set `forceStoreOnHipaaEnabled: true` if you are certain your structured output does NOT extract PHI or sensitive data. Review your schema carefully before enabling storage.
788
+
</Warning>
789
+
790
+
### Best practices for HIPAA compliance
791
+
792
+
1.**Default to privacy**: Keep storage disabled for all outputs that might contain PHI
793
+
2.**Review schemas carefully**: Ensure your extraction logic cannot accidentally capture sensitive data
794
+
3.**Use specific schemas**: Design narrow schemas that target only non-sensitive data
795
+
4.**Test thoroughly**: Verify outputs don't contain PHI before enabling storage
796
+
5.**Document decisions**: Maintain records of which outputs have storage enabled and why
797
+
6.**Regular audits**: Periodically review stored outputs to ensure compliance
798
+
799
+
For more information about HIPAA compliance with Vapi, see our [HIPAA Compliance Guide](/security-and-privacy/hipaa).
Copy file name to clipboardExpand all lines: fern/security-and-privacy/hipaa.mdx
+74Lines changed: 74 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -97,6 +97,80 @@ When enabling HIPAA compliance, only HIPAA compliant providers may be chosen.
97
97
</Accordion>
98
98
</AccordionGroup>
99
99
100
+
## Structured Outputs with HIPAA Mode
101
+
102
+
When HIPAA mode is enabled, Vapi does not store structured outputs by default. This protects privacy but limits your ability to use structured outputs in Insights and Call Logs. For non-sensitive outputs, you can override this behavior.
103
+
104
+
<AccordionGroup>
105
+
<Accordiontitle="How do structured outputs work with HIPAA mode enabled?">
106
+
By default, when HIPAA mode is on, Vapi doesn't store structured outputs. This keeps data private but limits your ability to use structured outputs in Insights and Call Logs.
107
+
108
+
You can enable storage for specific structured outputs using the `compliancePlan.forceStoreOnHipaaEnabled` setting. This allows you to store non-sensitive outputs even when HIPAA mode is active.
109
+
110
+
**Important:** Your organization is responsible for ensuring that any structured output with storage enabled does NOT extract or generate PHI or sensitive data. Only use this for non-sensitive information.
111
+
</Accordion>
112
+
113
+
<Accordiontitle="When should I enable storage for structured outputs in HIPAA mode?">
114
+
Enable storage ONLY for structured outputs that extract non-sensitive, non-PHI information.
- Patient names, dates of birth, or contact information
129
+
- Treatment plans or medication information
130
+
131
+
**Warning:** Enabling storage for outputs containing PHI violates HIPAA compliance and your BAA with Vapi.
132
+
</Accordion>
133
+
134
+
<Accordiontitle="How do I configure structured output storage in HIPAA mode?">
135
+
You can enable storage for specific structured outputs via the Dashboard or API.
136
+
137
+
**Via Dashboard:**
138
+
1. Navigate to **Structured Outputs** in the left sidebar
139
+
2. Create or edit a structured output
140
+
3. Expand the **Compliance Settings** section
141
+
4. Enable the toggle for "Enable Storage of Structured Outputs while on HIPAA Mode"
142
+
5. Only enable if your output does not extract sensitive information
143
+
144
+
**Via API:**
145
+
146
+
When creating a structured output:
147
+
```json
148
+
{
149
+
"name": "Appointment Booked",
150
+
"type": "ai",
151
+
"schema": {
152
+
"type": "boolean",
153
+
"description": "Whether an appointment was successfully booked"
154
+
},
155
+
"compliancePlan": {
156
+
"forceStoreOnHipaaEnabled": true
157
+
}
158
+
}
159
+
```
160
+
161
+
When updating a structured output:
162
+
```json
163
+
{
164
+
"compliancePlan": {
165
+
"forceStoreOnHipaaEnabled": true
166
+
}
167
+
}
168
+
```
169
+
170
+
**IMPORTANT:** Only set `forceStoreOnHipaaEnabled: true` if you are certain your structured output does NOT extract PHI or sensitive data. Your organization is responsible for ensuring compliance. Misuse could result in BAA violations.
0 commit comments