Skip to content

Add browser policy API before desktop adoption - #4481

Closed
reachjalil wants to merge 3 commits into
devfrom
feature/browser-policy-api
Closed

reachjalil wants to merge 3 commits into
devfrom
feature/browser-policy-api

Conversation

@reachjalil

@reachjalil reachjalil commented Sep 5, 2026 •

Copy link
Copy Markdown
Member

Status — Superseded as a browser-task prerequisite

The refreshed #4468 no longer consumes this proposed API. Merged #4564 already supplies server-owned execution.browserOrigins with exact-origin matching, intersected restrictions and upload enforcement. Restoring the older allowedBrowserHosts host/union semantics would create a conflicting policy system.

#4468 also removes the old one-time login importer. It uses direct sign-in in the built-in tab or the separately approved login-sync feature merged in #4452, preserving its native consent and managed-desktop restrictions. Therefore allowBrowserLoginImport is not required by the completed browser-task path.

Do not merge or deploy this stale API branch as a dependency of #4468. No replacement API or migration is required for that path. This PR remains open for the owner to decide its disposition; it has not been closed or otherwise changed beyond this status description.

Historical verification — not current readiness

The original API candidate at 119199a had five passed compatibility assertions. That evidence does not validate the newer conflicting branch against current dev and is not a current readiness claim. Its previously proposed API-first rollout plan is superseded by the integration decision above.

@vercel

vercel Bot commented Sep 5, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

4 Skipped Deployments
Project Deployment Actions Updated
openwork-app Skipped Skipped Sep 5, 2026 7:54pm UTC
openwork-den Skipped Skipped Sep 5, 2026 7:54pm UTC
openwork-diagnostics Skipped Skipped Sep 5, 2026 7:54pm UTC
openwork-landing Skipped Skipped Sep 5, 2026 7:54pm UTC

Comment thread ee/apps/den-api/src/desktop-policies.ts
diff-warden[bot]
diff-warden Bot previously approved these changes Sep 5, 2026

@diff-warden diff-warden Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warden security clearance: clear. No blocking findings (security or desktop↔den sync) in this diff (ce129ddb83f5b1ee989701642ee332c88d30c056). 1 advisory desktop↔den sync note(s) were posted as review comments; they do not affect clearance. Automated clearance satisfies the required-review gate only — a human still reviews and merges. Analysis run

Comment thread ee/apps/den-api/src/desktop-policies.ts

@diff-warden diff-warden Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warden security clearance: clear. No blocking findings (security or desktop↔den sync) in this diff (119199ada22fcb8f88e7ae1f558659d2fe8753b6). 1 advisory desktop↔den sync note(s) were posted as review comments; they do not affect clearance. Automated clearance satisfies the required-review gate only — a human still reviews and merges. Analysis run

@reachjalil

Copy link
Copy Markdown
Member Author

Test evidence — an-administrator-provisions-browser-policy-through-the-api-while-existing-client — ✅ passed

✅ passed · 5 expectations passed · 0 failed · 0 pending

screenshots not attached (gh < 2.99; run brew upgrade gh)

verdict passed · 0 user observations · 0 probes · steps 0/0

ℹ️ ASSERTION — 1. The additive policy API defaults preserve existing browser access

The member's existing desktop-config endpoint returned built-in browser access, an explicit unrestricted host policy, and login import disabled by default.

  • ✅ PASS The additive policy API defaults preserve existing browser access — The member's existing desktop-config endpoint returned built-in browser access, an explicit unrestricted host policy, and login import disabled by default.

ℹ️ ASSERTION — 2. An administrator's browser grant reaches the member through the existing API

The policy update persisted the explicit import grant and project.example allowlist. A separate member GET returned both effective values and preserved the existing built-in extension permission.

  • ✅ PASS An administrator's browser grant reaches the member through the existing API — The policy update persisted the explicit import grant and project.example allowlist. A separate member GET returned both effective values and preserved the existing built-in extension permission.

ℹ️ ASSERTION — 3. A member cannot change the organization's browser permissions

The member's update returned HTTP 403. A subsequent member config read retained the administrator's import grant and host restriction.

  • ✅ PASS A member cannot change the organization's browser permissions — The member's update returned HTTP 403. A subsequent member config read retained the administrator's import grant and host restriction.

ℹ️ ASSERTION — 4. Administrators can revoke import and explicitly clear a website restriction

Updating the policy to deny import and clear the host list returned an effective false grant and explicit unrestricted hosts.

  • ✅ PASS Administrators can revoke import and explicitly clear a website restriction — Updating the policy to deny import and clear the host list returned an effective false grant and explicit unrestricted hosts.

ℹ️ ASSERTION — 5. Existing clients can still update policy without sending the new fields

An update containing only the existing allowZenModel flag succeeded. That flag changed, the other existing flags retained their values, and the new fields used safe defaults without becoming required request fields.

  • ✅ PASS Existing clients can still update policy without sending the new fields — An update containing only the existing allowZenModel flag succeeded. That flag changed, the other existing flags retained their values, and the new fields used safe defaults without becoming required request fields.

Test run created 2026-09-05T04:28:26.199Z · Source: evals/results/test-runs/2026-09-05T04-28-26-198Z-an-administrator-provisions-browser-policy-through-the-api-while-existing-client/test-run.json · Repro: pnpm --dir evals artifacts:publish -- --pr 4481 --test-run 2026-09-05T04-28-26-198Z-an-administrator-provisions-browser-policy-through-the-api-while-existing-client

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 5, 2026 •

Copy link
Copy Markdown

Deploying openwork with  Cloudflare Pages  Cloudflare Pages

Latest commit: 58c4a5c
Status: ✅  Deploy successful!
Preview URL: https://f0473af7.openwork.pages.dev
Branch Preview URL: https://feature-browser-policy-api.openwork.pages.dev

View logs

@vercel
vercel Bot temporarily deployed to Preview – openwork-app September 5, 2026 19:54 Inactive
@vercel
vercel Bot temporarily deployed to Preview – openwork-diagnostics September 5, 2026 19:54 Inactive
@vercel
vercel Bot temporarily deployed to Preview – openwork-landing September 5, 2026 19:54 Inactive
@vercel
vercel Bot temporarily deployed to Preview – openwork-den September 5, 2026 19:54 Inactive

@diff-warden diff-warden Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warden security clearance: clear. No blocking findings (security or desktop↔den sync) in this diff (58c4a5c186d041662266e2eb7d403b595bcf515c). 1 advisory desktop↔den sync note(s) were posted as review comments; they do not affect clearance. Automated clearance satisfies the required-review gate only — a human still reviews and merges. Analysis run

@reachjalil reachjalil closed this Sep 9, 2026

This branch was previously deployed

4 inactive deployments
Preview – openwork-landing — 58c4a5c1 Deployed Sep 5, 2026 by vercel[bot]
Preview – openwork-den — 58c4a5c1 Deployed Sep 5, 2026 by vercel[bot]
Preview – openwork-app — 58c4a5c1 Deployed Sep 5, 2026 by vercel[bot]
Preview – openwork-diagnostics — 58c4a5c1 Deployed Sep 5, 2026 by vercel[bot]
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.

2 participants