Skip to content

feat(runner): route external privacy restrictions - #926

Draft
afourniernv wants to merge 1 commit into
codex/privacy-target-mappingfrom
codex/privacy-external-signal
Draft

afourniernv wants to merge 1 commit into
codex/privacy-target-mappingfrom
codex/privacy-external-signal

Conversation

@afourniernv

@afourniernv afourniernv commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Privacy stack 3/9. Depends on #925. Next: #927.

What

Allow an embedded Rust host to mark a request as restricted. Routes explicitly opt in with accept_external_signal; restricted execution uses only existing targets flagged private = true.

Why

Hosts can supply their own classification without Switchyard owning detection. The configured router still chooses among the allowed targets.

How tested

Runner tests passed for opt-in, target filtering, required roles, fallbacks, and auxiliary calls.

The complete stack also passed workspace tests, strict clippy (including prefill), formatting, and 187 Python tests. No live provider calls.

Notes for reviewers

Adds mark_privacy_restricted(&mut Request) and the route's privacy TOML section. The marker is in-process only, not an HTTP header.

Restricted construction preserves weights and required roles. Forward-auth privacy deployments are rejected; mixed routes reject Responses continuation requests. No built-in pattern detectors.

@afourniernv
afourniernv added this pull request to stack #934 October 6, 2026 18:18
@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
PR Preview Action v1.8.1

🚀 View preview at
https://NVIDIA-NeMo.github.io/Switchyard/pr-preview/pr-926/

Built to branch gh-pages at 2026-10-11 22:09 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@afourniernv

Copy link
Copy Markdown
Contributor Author

Closing this draft stack for now. I’m sharing the cumulative branch and design/evaluation artifacts for architecture feedback before reopening a smaller stack.

@afourniernv afourniernv closed this Oct 6, 2026
@afourniernv
afourniernv removed this pull request from stack #934 October 11, 2026 21:57
@afourniernv afourniernv reopened this Oct 11, 2026
@afourniernv
afourniernv force-pushed the codex/privacy-external-signal branch from 38f33be to 869a2c3 Compare October 11, 2026 21:59
@afourniernv
afourniernv added this pull request to stack #966 October 11, 2026 21:59
Signed-off-by: Alex Fournier <afournier@nvidia.com>
@afourniernv
afourniernv force-pushed the codex/privacy-external-signal branch from 869a2c3 to 69fa69f Compare October 11, 2026 22:08

This branch has not been deployed

No deployments
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