Skip to content

Add configurable chat content checks and admin rechecks - #1516

Merged
Paul Lizer (paullizer) merged 1 commit into
microsoft:paullizer-react-v2-uifrom
paullizer:paullizer-content-scanning-controls
Sep 22, 2026
Merged

Paul Lizer (paullizer) merged 1 commit into
microsoft:paullizer-react-v2-uifrom
paullizer:paullizer-content-scanning-controls

Conversation

@paullizer

Copy link
Copy Markdown
Contributor

Summary

Workspace content screening did not cover submitted chat text or AI replies, and Content Safety lacked reply checks. This adds administrator-selected chat checkpoints and a way to recover inspections that could not finish.

  • Reuse the global PII/regex/literal/optional AI baseline and Azure Content Safety through independent input/output switches across standard, agent, shared, streaming, and orchestrated chat paths.
  • Offer streaming followed by checking/removal, or checking before display. Scanner failures allow content through quietly by default, with private not checked metadata rather than a fabricated pass or user-facing outage warning.
  • Add a protected admin recheck queue with revision-bound decisions and automatic removal of confirmed AI-output violations from chat history, shared representations, and replay paths. AI findings cannot trigger user disciplinary actions.
  • Align classic and V2 controls, preserve existing workspace document holds, and update documentation, coverage, and the application version to 0.261.127.

Defaults and trade-offs: New chat/output checkpoints are opt-in; existing upload and Content Safety input coverage are preserved. Streaming first can expose text before removal. Holding a reply still follows the configured failure action. Retrieved content, outbound tool/search arguments, and additional file-content scanning are outside this change.

Linked issue

N/A. The user requested this work without creating an issue.

Release Notes & Latest Features

  • New Feature
  • Bug Fix
  • UI Enhancement
  • Breaking Change
  • Internal only

Is this visible to end users?

  • Yes
  • No

Is this admin-facing (Admin Settings, governance, deployment, config)?

  • Yes
  • No

Should this become a Latest Feature card?

  • Yes
  • No
  • Already added

Screenshot needed for the card?

  • Yes
  • No
  • Attached

Release notes and a Latest Feature card are not included. Release-note approval was unavailable, so the existing release notes were left unchanged.

Version bump

  • application/single_app/config.py VERSION third segment bumped, or not needed because this is docs-only
  • deployers/version.txt bumped, or not needed because deployers/ was not changed

Application: 0.261.126 -> 0.261.127. No deployer changes.

Testing / validation

  • Python 3.12 checkpoint, recheck, stream, and orchestration tests, plus screening/settings/history/export and route-policy regressions. The combined focused backend batch passed 235 tests; the existing orchestration/recovery suite passed 85 tests.
  • npm --prefix application/v2_ui run build and node functional_tests/test_v2_chat_content_checks.mjs passed.
  • python -m pytest ui_tests/test_chat_content_checks.py ui_tests/test_content_screening_policy_parity.py -q: 54 passed using real browser controls and stream handlers.
  • Documentation inventory regeneration, documentation coverage/site-quality scripts, changed-line access/XSS guardrails, Python/JavaScript syntax checks, and git diff --check passed.
  • Scanner and storage tests use synthetic data and isolated service boundaries; no live Azure-resource validation was performed.

Documentation

  • Release notes updated, or not needed
  • Feature documentation updated, or not needed
  • Fix documentation updated, or not needed

Added the chat-check feature reference and admin recheck guide, updated Security settings and existing screening documentation, and regenerated the application surface inventory. Separate fix documentation is not needed for this feature change.

Security checklist

  • New Flask routes include @swagger_route(security=get_auth_security())
  • Settings sent to non-admin frontends use sanitize_settings_for_user()
  • Browser JavaScript is served from local SimpleChat static assets only; no CDN-hosted JS
  • No secrets, keys, connection strings, or local-only artifacts are included

Extend Content Screening and Content Safety to submitted chat text and AI replies with independent admin controls. Support streamed or held responses, private unchecked metadata on scanner failures, and revision-bound admin rechecks with durable reply removal. Preserve workspace upload review, align classic and V2 interfaces, and update coverage, documentation, and application version 0.261.127.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@paullizer
Paul Lizer (paullizer) merged commit 6f94c98 into microsoft:paullizer-react-v2-ui Sep 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant