diff --git a/dotnet/src/Microsoft.Agents.AI.Purview/README.md b/dotnet/src/Microsoft.Agents.AI.Purview/README.md index f89546be2fd..c141ada6f97 100644 --- a/dotnet/src/Microsoft.Agents.AI.Purview/README.md +++ b/dotnet/src/Microsoft.Agents.AI.Purview/README.md @@ -384,6 +384,16 @@ content are serialized to text. Only `UsageContent` is skipped, because it carri than user data. Text annotations such as citations, `ErrorContent.Details` and `DataContent.Name` are submitted as additional text entries. +### Binary content uses text activities + +Both the agent and chat middleware evaluate all prompt content as `UploadText` and all response content +as `DownloadText`, including binary content. The middleware cannot reliably distinguish a file +attachment from inline binary content. Sending bytes as Purview binary content does not change the +activity to `UploadFile` or `DownloadFile`. + +Configure DLP policies for `UploadText` and `DownloadText` to cover this content. Policies that block +only `UploadFile` or `DownloadFile` do not block binary content through this integration. + ### Remote references are not dereferenced Purview classifies the content it is handed; a reference to content is not the content. diff --git a/python/packages/purview/README.md b/python/packages/purview/README.md index ba44ca26d85..c1d96fe9e48 100644 --- a/python/packages/purview/README.md +++ b/python/packages/purview/README.md @@ -474,6 +474,17 @@ Evaluation covers the response as it stands when the middleware runs. Because mi the response afterwards, what is evaluated depends on where the middleware is attached — see [Middleware order matters](#middleware-order-matters). +### Binary content uses text activities + +Both `PurviewPolicyMiddleware` and `PurviewChatPolicyMiddleware` evaluate all prompt content as +`UploadText` (`Activity.UPLOAD_TEXT`) and all response content as `DownloadText` +(`Activity.DOWNLOAD_TEXT`), including binary content. The middleware cannot reliably distinguish a file +attachment from inline binary content. Sending bytes as Purview binary content does not change the +activity to `UploadFile` or `DownloadFile`. + +Configure DLP policies for `UploadText` and `DownloadText` to cover this content. Policies that block +only `UploadFile` or `DownloadFile` do not block binary content through this integration. + ### Remote references are not dereferenced Purview classifies the content it is handed; a reference to content is not the content. diff --git a/skills/agent-framework-builder-dotnet/references/integrations.md b/skills/agent-framework-builder-dotnet/references/integrations.md index 444f2c3b88f..394ad87c797 100644 --- a/skills/agent-framework-builder-dotnet/references/integrations.md +++ b/skills/agent-framework-builder-dotnet/references/integrations.md @@ -49,6 +49,11 @@ diagnostics already caught and returned by generated code. For AG-UI, remember that thread and run IDs are correlation identifiers, not authentication boundaries. The application owns authorization, durable snapshots, scaling, and rendering policy. +For Purview, all prompt content uses the `UploadText` activity and all response content uses `DownloadText`, +including binary content. The middleware cannot reliably distinguish file attachments from inline binary +content. Configure DLP policies for these text activities; `UploadFile`-only or `DownloadFile`-only rules do +not block binary content through this integration. + ## Selection checklist Confirm the provider/service, authentication model (prefer token credentials), required capabilities, package diff --git a/skills/agent-framework-builder-python/references/integrations.md b/skills/agent-framework-builder-python/references/integrations.md index 6690a7d41af..565a015a6f3 100644 --- a/skills/agent-framework-builder-python/references/integrations.md +++ b/skills/agent-framework-builder-python/references/integrations.md @@ -44,6 +44,11 @@ client when its lifetime must extend beyond any one agent context. Do not assume For AG-UI, remember that thread and run IDs are correlation identifiers, not authentication boundaries. The application owns authorization, durable snapshots, scaling, and rendering policy. +For Purview, all prompt content uses the `UploadText` activity (`Activity.UPLOAD_TEXT`) and all response +content uses `DownloadText` (`Activity.DOWNLOAD_TEXT`), including binary content. The middleware cannot +reliably distinguish file attachments from inline binary content. Configure DLP policies for these text +activities; `UploadFile`-only or `DownloadFile`-only rules do not block binary content through this integration. + ## Code execution Monty and Hyperlight redact host tool exception diagnostics by default. Enable