OpenFn / OpenFn/lightning

Sandbox access-rule decisions: delete/rename cascade, parent-admin floor

Open
#4,768 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Elixir
Stars
296
Forks
86
Avg merge
1d 13h
Merged PRs (30d)
50

Description

Context

Two open access-rule questions left over from PR #4763 (Sandboxes: scope visibility, tighten merge gate, drop superuser bypass). The merge-gate and superuser-bypass items in the original list shipped with that PR; these two remain.

The two open questions

1. Delete/rename cascade

Today: A user can delete or rename a sandbox if they are owner/admin of the sandbox itself, or owner/admin of the absolute workspace root. The "root cascade" lets a workspace owner manage any sandbox underneath.

Question: keep the cascade, or drop it so only direct admin/owner of the sandbox can act?

2. Parent-admin floor

Today: A user who is admin or owner on any parent project cannot be removed from a descendant sandbox, even by the sandbox's own owner. The floor is enforced both at the UI (Remove button disabled) and at the data layer (Projects.delete_project_user! raises).

Question: keep the floor, or drop it so a sandbox owner has full control over the sandbox's membership?

Why they're coupled

Both are "the workspace owner has special powers over descendant sandboxes" rules. Dropping the cascade makes the floor a one-off exception with no underlying rationale; keeping the cascade keeps both rules consistent with each other.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing PR #4763 and the current UI Remove-button behavior and Projects.delete_project_user! data-layer guard described here. Resolve whether both workspace-owner powers should be kept or removed together, then document the decision and update the corresponding UI and data-layer behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
elixir
Domain
authorization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.