Configure content capture
Content capture sends the protected input and the released output of one governed action to VeriProof so a reviewer can read what happened. It is a per-call choice. A governed action never captures content unless the call asks for it.
With capture off, VeriProof still records the session, the policy decision, the typed result, application facts, industry values, and workflow facts. Those records contain identifiers and rule results, not the protected payload.
How capture is controlled
Two settings must agree before content is captured:
| Control | Who sets it | Effect |
|---|---|---|
| Application governance profile | An Organization Administrator, through the Content capture switch in Settings → Organization controls | Permits or refuses capture for every application in the organization. The SDK reads this from the authenticated profile. |
| Capture option on the governed call | The developer, per call | Requests capture for that action’s input and released output. |
When the call asks for capture and the profile refuses it, the SDK returns a failed result with reason code content_capture_not_permitted before the protected action starts. The action does not run.
Captured content is limited to 65,536 characters for the input and for the output. A larger value returns failed with reason code content_capture_too_large. The input limit is checked before the action starts; the output limit is checked before the result is released.
Decide before enabling it
Ask for capture only when the review or evidence benefit is clear. Check:
- whether the input or output can contain personal, regulated, or confidential data;
- whether the organization’s retention settings are appropriate;
- who can view session content in the portal;
- whether the organization’s sensitive data policy covers the values you expect.
Content capture can send verbatim user and model text. Test the sensitive data policy with representative data before enabling capture in production.
Ask for capture on one governed call
TypeScript
const result = await veriproof.govern(
'support.reply',
request,
({ input, signal }) => draftReply(input, { signal }),
{ captureContent: true },
);The capture choice is retained in a review_required checkpoint. When a worker resumes the action after human review, the resumed run captures content under the same setting.
Sensitive data is masked first
The SDK builds a sanitizer from the organization’s sensitive data policy in the authenticated profile. When the policy is enabled, the sanitizer runs before any content is captured, so captured input and output never contain a matched value. If the policy cannot be applied, the action fails closed with reason code sensitive_data_policy_invalid.
Read Sensitive data protection for the supported patterns and the portal settings that control them.
Verify the result
- Confirm the Content capture switch is on in Settings → Organization controls.
- Send one governed action with the capture option set, using safe, recognizable text.
- Open the session detail view and confirm the input and output appear.
- Send the same action with a value that the sensitive data policy covers, and confirm the masked replacement appears instead of the value.
- Review the organization’s retention settings before production rollout.