Quest: Enforce least authority across xmd workflows #536

Description

@taras

Quest outcome

Let a workflow author restrict which XMD operations a section of a workflow and
its nested content may perform.

If an outer section removes access to a capability, no nested component can
restore that access through another XMD provider or middleware layer. A nested
section may remove additional access.

Here, XMD-mediated authority means the ability to perform an effect through
XMD's Files, Fetch, Process, Git, Git-host, Issue, Workspace, Agent, model, or
other trusted operation boundary.

Example

A supervised implementation workflow has three stages:

StageNeedsDoes not need
ImplementWorktree read/write, test processes, coding AgentDeployment credentials
ReviewRepository read, review AgentWorktree write, test processes, GitHub mutation
PublishApproved GitHub mutation and its credentialCoding Agent, arbitrary worktree access

The workflow restricts each stage to the XMD operations it needs.

If the Review stage installs another Files provider, loads another copy of an
XMD package, or calls nested components, it still cannot recover write access
removed by the outer restriction.

If the selected Agent or process launcher cannot enforce a requested
restriction, the stage refuses before starting that Agent or process. It never
runs with broader access silently.

The public Markdown form for expressing these restrictions remains a design
decision. This Quest owns the security contract and the child stories that
deliver it; it does not choose a permission-language syntax in this body.

Why this matters

Executable workflows already try to keep known behavior in the document and use
Agents only where judgment is required. Least authority applies the same idea to
effects: each part receives only the access it needs.

Lexical composition already gives XMD a useful shape for this boundary. A
restriction applies to nested content and ends with the scope that installed it.

Ordinary middleware alone is not a security boundary. A component can replace
middleware, trusted authored JavaScript can call runtime APIs directly, and a
launched process or Agent becomes a separately executing program.

The Quest must therefore state exactly which operations XMD controls and avoid
claiming broader sandboxing.

Initial security profile

The initial profile supports trusted authored workflows.

Markdown components, eval blocks, function components, imports, JavaScript,
processes, and Agents remain usable. Authored JavaScript is trusted.

XMD guarantees monotonic restriction only for effects that pass through its
trusted operation boundaries:

host's maximum XMD access
↓
access available to the workflow root
↓
outer section restriction
↓
nested section restriction
↓
final authorization
↓
effect

Each downward step may preserve or remove access. It may never add access above
its parent.

Direct JavaScript calls to Deno, Node, global fetch, native libraries, or
arbitrary SDKs remain outside this initial guarantee. Do not describe this
profile as an arbitrary-code sandbox.

Future constrained profile

A separate constrained or untrusted profile may prohibit, inspect, or isolate
authored JavaScript, imports, native APIs, processes, and Agents.

Only that stronger profile could claim that everything beneath a restriction is
confined to it, regardless of how the code attempts an effect.

Useful least-authority support for trusted workflows does not wait for that
future profile.

Authorization boundary

The trusted host establishes the maximum XMD-mediated access before authored
work begins. That maximum is owned by the execution, not stored in replaceable
middleware or Context.

Before an effect occurs:

  1. the trusted provider normalizes the final request;
  2. every active lexical restriction evaluates that same request;
  3. an execution-private authorization gate records acceptance; and
  4. the provider performs the effect.

Ordinary middleware may route, observe, transform, instrument, synthesize,
refuse, or delegate. Its return value does not authorize an effect.

A fabricated request, another loaded package copy, a captured public wrapper,
or a replacement provider cannot invoke the private authorization gate or widen
the active access.

The final check occurs immediately before the effect rather than trusting a
capability object handed down earlier.

Initial XMD domains

Candidate domains include:

  • document Files;
  • Fetch;
  • environment reads through XMD;
  • Process and Service launch;
  • Git and Git-host effects;
  • Issue-provider effects;
  • Workspace effects;
  • Agent and model invocation; and
  • other recorded external effects.

The first implementation need not cover every domain. Every delivered domain
must document what can be restricted, how the provider enforces it, and what
happens when enforcement is unavailable.

Credentials and live provider objects never appear in the structural policy a
document can inspect or copy.

Processes

Processes remain available. The policy may restrict launch-time facts XMD can
control, including:

  • whether launch is allowed;
  • executable or launcher profile;
  • arguments;
  • working directory;
  • complete environment;
  • credential injection;
  • inherited descriptors; and
  • process lifetime and cancellation.

After launch, filesystem access, network access, child processes, OS-visible
credentials, and interpreter behavior require enforcement from an operating
system, container, sandbox, or qualified launcher.

Allowing an executable is not complete confinement. An interpreter or extensible
tool may expose broader behavior.

If a workflow requests a launch restriction that the selected profile cannot
enforce, XMD refuses before spawning. A restriction is never silently converted
to ambient behavior.

Agents

Agents also remain available.

An Agent provider may be asked to enforce restrictions on:

  • provider and model;
  • working directory and Workspace;
  • environment;
  • filesystem reads and writes;
  • commands and tools;
  • network;
  • MCP servers and tools;
  • mutation channels;
  • permission requests; and
  • credentials.

For every requested dimension, the provider reports either:

  • enforced;
  • unsupported; or
  • not requested, using its documented ambient behavior.

A requested unsupported restriction refuses before session creation, resumption,
or Prompt execution.

Prompt instructions do not count as enforcement. A permission callback is one
decision point inside an already fixed ceiling, not the ceiling itself.

Replay and portability

A resumed workflow receives the same effective access as the original execution
or a narrower intersection with the current host. Resumption never restores
access that the current branch or environment no longer permits.

A workflow describes the access its components require independently from the
mechanism a local, CI, or cloud environment uses to enforce it.

component requirements
⊆
section's allowed access
⊆
environment's enforceable access

A restricted host's own recursive xmd invocation preserves the same or a
narrower runtime profile. Authored arguments cannot restore broad runtime flags
such as --allow-all.

Delivered foundations

These foundations demonstrate parts of the model. They do not yet provide a
general lexical least-authority component.

Blocking work

Create focused child stories for every unassigned blocking item before
implementation. Add their issue numbers and dependency order to this Quest.

#227 remains the ordinary xmd run filesystem-containment story. It supports
the Files boundary but does not deliver the complete Quest.

Completion

The Quest is complete when:

  • architecture and specifications explain the trusted and constrained profiles
    in the same terms;
  • the trusted host establishes one execution-owned root authority;
  • nested restrictions can only remove XMD-mediated access;
  • every delivered XMD domain checks the final request through an
    execution-private authorization boundary;
  • middleware replacement, another loaded copy, or a fabricated request cannot
    widen an effect;
  • Process and Agent providers report whether requested restrictions are
    enforceable and refuse unsupported requests;
  • resumption cannot widen the original or currently permitted access;
  • focused negative tests prove every delivered domain's restriction and
    fail-closed behavior;
  • public documentation states the exact boundary of every security claim; and
  • every blocking child story is complete.

Out of scope

  • Choosing the public policy syntax in this Quest body.
  • Claiming arbitrary-code sandboxing for trusted authored workflows.
  • Requiring built-in-only workflows.
  • Prohibiting processes or Agents by default.
  • Treating Prompt instructions as security enforcement.
  • Solving general portable container, network, or operating-system sandboxing.
  • Describing XMD itself as an operating-system sandbox.

Related work

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questCoordinating story with dependency-ordered sub-issuessecuritySecurity hardening

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
       blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
      }
      } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
      })();
      (function(){
      try {
      var __m = "github.com";
      var __re = new RegExp('^' + "github\\.com" + '
      
      Skip to content

      Quest: Enforce least authority across xmd workflows #536

      Description

      @taras

      Quest outcome

      Let a workflow author restrict which XMD operations a section of a workflow and
      its nested content may perform.

      If an outer section removes access to a capability, no nested component can
      restore that access through another XMD provider or middleware layer. A nested
      section may remove additional access.

      Here, XMD-mediated authority means the ability to perform an effect through
      XMD's Files, Fetch, Process, Git, Git-host, Issue, Workspace, Agent, model, or
      other trusted operation boundary.

      Example

      A supervised implementation workflow has three stages:

      StageNeedsDoes not need
      ImplementWorktree read/write, test processes, coding AgentDeployment credentials
      ReviewRepository read, review AgentWorktree write, test processes, GitHub mutation
      PublishApproved GitHub mutation and its credentialCoding Agent, arbitrary worktree access

      The workflow restricts each stage to the XMD operations it needs.

      If the Review stage installs another Files provider, loads another copy of an
      XMD package, or calls nested components, it still cannot recover write access
      removed by the outer restriction.

      If the selected Agent or process launcher cannot enforce a requested
      restriction, the stage refuses before starting that Agent or process. It never
      runs with broader access silently.

      The public Markdown form for expressing these restrictions remains a design
      decision. This Quest owns the security contract and the child stories that
      deliver it; it does not choose a permission-language syntax in this body.

      Why this matters

      Executable workflows already try to keep known behavior in the document and use
      Agents only where judgment is required. Least authority applies the same idea to
      effects: each part receives only the access it needs.

      Lexical composition already gives XMD a useful shape for this boundary. A
      restriction applies to nested content and ends with the scope that installed it.

      Ordinary middleware alone is not a security boundary. A component can replace
      middleware, trusted authored JavaScript can call runtime APIs directly, and a
      launched process or Agent becomes a separately executing program.

      The Quest must therefore state exactly which operations XMD controls and avoid
      claiming broader sandboxing.

      Initial security profile

      The initial profile supports trusted authored workflows.

      Markdown components, eval blocks, function components, imports, JavaScript,
      processes, and Agents remain usable. Authored JavaScript is trusted.

      XMD guarantees monotonic restriction only for effects that pass through its
      trusted operation boundaries:

      host's maximum XMD access
      ↓
      access available to the workflow root
      ↓
      outer section restriction
      ↓
      nested section restriction
      ↓
      final authorization
      ↓
      effect
      

      Each downward step may preserve or remove access. It may never add access above
      its parent.

      Direct JavaScript calls to Deno, Node, global fetch, native libraries, or
      arbitrary SDKs remain outside this initial guarantee. Do not describe this
      profile as an arbitrary-code sandbox.

      Future constrained profile

      A separate constrained or untrusted profile may prohibit, inspect, or isolate
      authored JavaScript, imports, native APIs, processes, and Agents.

      Only that stronger profile could claim that everything beneath a restriction is
      confined to it, regardless of how the code attempts an effect.

      Useful least-authority support for trusted workflows does not wait for that
      future profile.

      Authorization boundary

      The trusted host establishes the maximum XMD-mediated access before authored
      work begins. That maximum is owned by the execution, not stored in replaceable
      middleware or Context.

      Before an effect occurs:

      1. the trusted provider normalizes the final request;
      2. every active lexical restriction evaluates that same request;
      3. an execution-private authorization gate records acceptance; and
      4. the provider performs the effect.

      Ordinary middleware may route, observe, transform, instrument, synthesize,
      refuse, or delegate. Its return value does not authorize an effect.

      A fabricated request, another loaded package copy, a captured public wrapper,
      or a replacement provider cannot invoke the private authorization gate or widen
      the active access.

      The final check occurs immediately before the effect rather than trusting a
      capability object handed down earlier.

      Initial XMD domains

      Candidate domains include:

      • document Files;
      • Fetch;
      • environment reads through XMD;
      • Process and Service launch;
      • Git and Git-host effects;
      • Issue-provider effects;
      • Workspace effects;
      • Agent and model invocation; and
      • other recorded external effects.

      The first implementation need not cover every domain. Every delivered domain
      must document what can be restricted, how the provider enforces it, and what
      happens when enforcement is unavailable.

      Credentials and live provider objects never appear in the structural policy a
      document can inspect or copy.

      Processes

      Processes remain available. The policy may restrict launch-time facts XMD can
      control, including:

      • whether launch is allowed;
      • executable or launcher profile;
      • arguments;
      • working directory;
      • complete environment;
      • credential injection;
      • inherited descriptors; and
      • process lifetime and cancellation.

      After launch, filesystem access, network access, child processes, OS-visible
      credentials, and interpreter behavior require enforcement from an operating
      system, container, sandbox, or qualified launcher.

      Allowing an executable is not complete confinement. An interpreter or extensible
      tool may expose broader behavior.

      If a workflow requests a launch restriction that the selected profile cannot
      enforce, XMD refuses before spawning. A restriction is never silently converted
      to ambient behavior.

      Agents

      Agents also remain available.

      An Agent provider may be asked to enforce restrictions on:

      • provider and model;
      • working directory and Workspace;
      • environment;
      • filesystem reads and writes;
      • commands and tools;
      • network;
      • MCP servers and tools;
      • mutation channels;
      • permission requests; and
      • credentials.

      For every requested dimension, the provider reports either:

      • enforced;
      • unsupported; or
      • not requested, using its documented ambient behavior.

      A requested unsupported restriction refuses before session creation, resumption,
      or Prompt execution.

      Prompt instructions do not count as enforcement. A permission callback is one
      decision point inside an already fixed ceiling, not the ceiling itself.

      Replay and portability

      A resumed workflow receives the same effective access as the original execution
      or a narrower intersection with the current host. Resumption never restores
      access that the current branch or environment no longer permits.

      A workflow describes the access its components require independently from the
      mechanism a local, CI, or cloud environment uses to enforce it.

      component requirements
      ⊆
      section's allowed access
      ⊆
      environment's enforceable access
      

      A restricted host's own recursive xmd invocation preserves the same or a
      narrower runtime profile. Authored arguments cannot restore broad runtime flags
      such as --allow-all.

      Delivered foundations

      These foundations demonstrate parts of the model. They do not yet provide a
      general lexical least-authority component.

      Blocking work

      Create focused child stories for every unassigned blocking item before
      implementation. Add their issue numbers and dependency order to this Quest.

      #227 remains the ordinary xmd run filesystem-containment story. It supports
      the Files boundary but does not deliver the complete Quest.

      Completion

      The Quest is complete when:

      • architecture and specifications explain the trusted and constrained profiles
        in the same terms;
      • the trusted host establishes one execution-owned root authority;
      • nested restrictions can only remove XMD-mediated access;
      • every delivered XMD domain checks the final request through an
        execution-private authorization boundary;
      • middleware replacement, another loaded copy, or a fabricated request cannot
        widen an effect;
      • Process and Agent providers report whether requested restrictions are
        enforceable and refuse unsupported requests;
      • resumption cannot widen the original or currently permitted access;
      • focused negative tests prove every delivered domain's restriction and
        fail-closed behavior;
      • public documentation states the exact boundary of every security claim; and
      • every blocking child story is complete.

      Out of scope

      • Choosing the public policy syntax in this Quest body.
      • Claiming arbitrary-code sandboxing for trusted authored workflows.
      • Requiring built-in-only workflows.
      • Prohibiting processes or Agents by default.
      • Treating Prompt instructions as security enforcement.
      • Solving general portable container, network, or operating-system sandboxing.
      • Describing XMD itself as an operating-system sandbox.

      Related work

      Activity

      Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

      Metadata

      Metadata

      Assignees

      No one assigned

        Labels

        questCoordinating story with dependency-ordered sub-issuessecuritySecurity hardening

        Projects

        No projects

          Milestone

          No milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
          Skip to content

          Quest: Enforce least authority across xmd workflows #536

          Description

          @taras

          Quest outcome

          Let a workflow author restrict which XMD operations a section of a workflow and
          its nested content may perform.

          If an outer section removes access to a capability, no nested component can
          restore that access through another XMD provider or middleware layer. A nested
          section may remove additional access.

          Here, XMD-mediated authority means the ability to perform an effect through
          XMD's Files, Fetch, Process, Git, Git-host, Issue, Workspace, Agent, model, or
          other trusted operation boundary.

          Example

          A supervised implementation workflow has three stages:

          StageNeedsDoes not need
          ImplementWorktree read/write, test processes, coding AgentDeployment credentials
          ReviewRepository read, review AgentWorktree write, test processes, GitHub mutation
          PublishApproved GitHub mutation and its credentialCoding Agent, arbitrary worktree access

          The workflow restricts each stage to the XMD operations it needs.

          If the Review stage installs another Files provider, loads another copy of an
          XMD package, or calls nested components, it still cannot recover write access
          removed by the outer restriction.

          If the selected Agent or process launcher cannot enforce a requested
          restriction, the stage refuses before starting that Agent or process. It never
          runs with broader access silently.

          The public Markdown form for expressing these restrictions remains a design
          decision. This Quest owns the security contract and the child stories that
          deliver it; it does not choose a permission-language syntax in this body.

          Why this matters

          Executable workflows already try to keep known behavior in the document and use
          Agents only where judgment is required. Least authority applies the same idea to
          effects: each part receives only the access it needs.

          Lexical composition already gives XMD a useful shape for this boundary. A
          restriction applies to nested content and ends with the scope that installed it.

          Ordinary middleware alone is not a security boundary. A component can replace
          middleware, trusted authored JavaScript can call runtime APIs directly, and a
          launched process or Agent becomes a separately executing program.

          The Quest must therefore state exactly which operations XMD controls and avoid
          claiming broader sandboxing.

          Initial security profile

          The initial profile supports trusted authored workflows.

          Markdown components, eval blocks, function components, imports, JavaScript,
          processes, and Agents remain usable. Authored JavaScript is trusted.

          XMD guarantees monotonic restriction only for effects that pass through its
          trusted operation boundaries:

          host's maximum XMD access
          ↓
          access available to the workflow root
          ↓
          outer section restriction
          ↓
          nested section restriction
          ↓
          final authorization
          ↓
          effect
          

          Each downward step may preserve or remove access. It may never add access above
          its parent.

          Direct JavaScript calls to Deno, Node, global fetch, native libraries, or
          arbitrary SDKs remain outside this initial guarantee. Do not describe this
          profile as an arbitrary-code sandbox.

          Future constrained profile

          A separate constrained or untrusted profile may prohibit, inspect, or isolate
          authored JavaScript, imports, native APIs, processes, and Agents.

          Only that stronger profile could claim that everything beneath a restriction is
          confined to it, regardless of how the code attempts an effect.

          Useful least-authority support for trusted workflows does not wait for that
          future profile.

          Authorization boundary

          The trusted host establishes the maximum XMD-mediated access before authored
          work begins. That maximum is owned by the execution, not stored in replaceable
          middleware or Context.

          Before an effect occurs:

          1. the trusted provider normalizes the final request;
          2. every active lexical restriction evaluates that same request;
          3. an execution-private authorization gate records acceptance; and
          4. the provider performs the effect.

          Ordinary middleware may route, observe, transform, instrument, synthesize,
          refuse, or delegate. Its return value does not authorize an effect.

          A fabricated request, another loaded package copy, a captured public wrapper,
          or a replacement provider cannot invoke the private authorization gate or widen
          the active access.

          The final check occurs immediately before the effect rather than trusting a
          capability object handed down earlier.

          Initial XMD domains

          Candidate domains include:

          • document Files;
          • Fetch;
          • environment reads through XMD;
          • Process and Service launch;
          • Git and Git-host effects;
          • Issue-provider effects;
          • Workspace effects;
          • Agent and model invocation; and
          • other recorded external effects.

          The first implementation need not cover every domain. Every delivered domain
          must document what can be restricted, how the provider enforces it, and what
          happens when enforcement is unavailable.

          Credentials and live provider objects never appear in the structural policy a
          document can inspect or copy.

          Processes

          Processes remain available. The policy may restrict launch-time facts XMD can
          control, including:

          • whether launch is allowed;
          • executable or launcher profile;
          • arguments;
          • working directory;
          • complete environment;
          • credential injection;
          • inherited descriptors; and
          • process lifetime and cancellation.

          After launch, filesystem access, network access, child processes, OS-visible
          credentials, and interpreter behavior require enforcement from an operating
          system, container, sandbox, or qualified launcher.

          Allowing an executable is not complete confinement. An interpreter or extensible
          tool may expose broader behavior.

          If a workflow requests a launch restriction that the selected profile cannot
          enforce, XMD refuses before spawning. A restriction is never silently converted
          to ambient behavior.

          Agents

          Agents also remain available.

          An Agent provider may be asked to enforce restrictions on:

          • provider and model;
          • working directory and Workspace;
          • environment;
          • filesystem reads and writes;
          • commands and tools;
          • network;
          • MCP servers and tools;
          • mutation channels;
          • permission requests; and
          • credentials.

          For every requested dimension, the provider reports either:

          • enforced;
          • unsupported; or
          • not requested, using its documented ambient behavior.

          A requested unsupported restriction refuses before session creation, resumption,
          or Prompt execution.

          Prompt instructions do not count as enforcement. A permission callback is one
          decision point inside an already fixed ceiling, not the ceiling itself.

          Replay and portability

          A resumed workflow receives the same effective access as the original execution
          or a narrower intersection with the current host. Resumption never restores
          access that the current branch or environment no longer permits.

          A workflow describes the access its components require independently from the
          mechanism a local, CI, or cloud environment uses to enforce it.

          component requirements
          ⊆
          section's allowed access
          ⊆
          environment's enforceable access
          

          A restricted host's own recursive xmd invocation preserves the same or a
          narrower runtime profile. Authored arguments cannot restore broad runtime flags
          such as --allow-all.

          Delivered foundations

          These foundations demonstrate parts of the model. They do not yet provide a
          general lexical least-authority component.

          Blocking work

          Create focused child stories for every unassigned blocking item before
          implementation. Add their issue numbers and dependency order to this Quest.

          #227 remains the ordinary xmd run filesystem-containment story. It supports
          the Files boundary but does not deliver the complete Quest.

          Completion

          The Quest is complete when:

          • architecture and specifications explain the trusted and constrained profiles
            in the same terms;
          • the trusted host establishes one execution-owned root authority;
          • nested restrictions can only remove XMD-mediated access;
          • every delivered XMD domain checks the final request through an
            execution-private authorization boundary;
          • middleware replacement, another loaded copy, or a fabricated request cannot
            widen an effect;
          • Process and Agent providers report whether requested restrictions are
            enforceable and refuse unsupported requests;
          • resumption cannot widen the original or currently permitted access;
          • focused negative tests prove every delivered domain's restriction and
            fail-closed behavior;
          • public documentation states the exact boundary of every security claim; and
          • every blocking child story is complete.

          Out of scope

          • Choosing the public policy syntax in this Quest body.
          • Claiming arbitrary-code sandboxing for trusted authored workflows.
          • Requiring built-in-only workflows.
          • Prohibiting processes or Agents by default.
          • Treating Prompt instructions as security enforcement.
          • Solving general portable container, network, or operating-system sandboxing.
          • Describing XMD itself as an operating-system sandbox.

          Related work

          Activity

          Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

          Metadata

          Metadata

          Assignees

          No one assigned

            Labels

            questCoordinating story with dependency-ordered sub-issuessecuritySecurity hardening

            Projects

            No projects

              Milestone

              No milestone

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content

              Quest: Enforce least authority across xmd workflows #536

              Description

              @taras

              Quest outcome

              Let a workflow author restrict which XMD operations a section of a workflow and
              its nested content may perform.

              If an outer section removes access to a capability, no nested component can
              restore that access through another XMD provider or middleware layer. A nested
              section may remove additional access.

              Here, XMD-mediated authority means the ability to perform an effect through
              XMD's Files, Fetch, Process, Git, Git-host, Issue, Workspace, Agent, model, or
              other trusted operation boundary.

              Example

              A supervised implementation workflow has three stages:

              StageNeedsDoes not need
              ImplementWorktree read/write, test processes, coding AgentDeployment credentials
              ReviewRepository read, review AgentWorktree write, test processes, GitHub mutation
              PublishApproved GitHub mutation and its credentialCoding Agent, arbitrary worktree access

              The workflow restricts each stage to the XMD operations it needs.

              If the Review stage installs another Files provider, loads another copy of an
              XMD package, or calls nested components, it still cannot recover write access
              removed by the outer restriction.

              If the selected Agent or process launcher cannot enforce a requested
              restriction, the stage refuses before starting that Agent or process. It never
              runs with broader access silently.

              The public Markdown form for expressing these restrictions remains a design
              decision. This Quest owns the security contract and the child stories that
              deliver it; it does not choose a permission-language syntax in this body.

              Why this matters

              Executable workflows already try to keep known behavior in the document and use
              Agents only where judgment is required. Least authority applies the same idea to
              effects: each part receives only the access it needs.

              Lexical composition already gives XMD a useful shape for this boundary. A
              restriction applies to nested content and ends with the scope that installed it.

              Ordinary middleware alone is not a security boundary. A component can replace
              middleware, trusted authored JavaScript can call runtime APIs directly, and a
              launched process or Agent becomes a separately executing program.

              The Quest must therefore state exactly which operations XMD controls and avoid
              claiming broader sandboxing.

              Initial security profile

              The initial profile supports trusted authored workflows.

              Markdown components, eval blocks, function components, imports, JavaScript,
              processes, and Agents remain usable. Authored JavaScript is trusted.

              XMD guarantees monotonic restriction only for effects that pass through its
              trusted operation boundaries:

              host's maximum XMD access
              ↓
              access available to the workflow root
              ↓
              outer section restriction
              ↓
              nested section restriction
              ↓
              final authorization
              ↓
              effect
              

              Each downward step may preserve or remove access. It may never add access above
              its parent.

              Direct JavaScript calls to Deno, Node, global fetch, native libraries, or
              arbitrary SDKs remain outside this initial guarantee. Do not describe this
              profile as an arbitrary-code sandbox.

              Future constrained profile

              A separate constrained or untrusted profile may prohibit, inspect, or isolate
              authored JavaScript, imports, native APIs, processes, and Agents.

              Only that stronger profile could claim that everything beneath a restriction is
              confined to it, regardless of how the code attempts an effect.

              Useful least-authority support for trusted workflows does not wait for that
              future profile.

              Authorization boundary

              The trusted host establishes the maximum XMD-mediated access before authored
              work begins. That maximum is owned by the execution, not stored in replaceable
              middleware or Context.

              Before an effect occurs:

              1. the trusted provider normalizes the final request;
              2. every active lexical restriction evaluates that same request;
              3. an execution-private authorization gate records acceptance; and
              4. the provider performs the effect.

              Ordinary middleware may route, observe, transform, instrument, synthesize,
              refuse, or delegate. Its return value does not authorize an effect.

              A fabricated request, another loaded package copy, a captured public wrapper,
              or a replacement provider cannot invoke the private authorization gate or widen
              the active access.

              The final check occurs immediately before the effect rather than trusting a
              capability object handed down earlier.

              Initial XMD domains

              Candidate domains include:

              • document Files;
              • Fetch;
              • environment reads through XMD;
              • Process and Service launch;
              • Git and Git-host effects;
              • Issue-provider effects;
              • Workspace effects;
              • Agent and model invocation; and
              • other recorded external effects.

              The first implementation need not cover every domain. Every delivered domain
              must document what can be restricted, how the provider enforces it, and what
              happens when enforcement is unavailable.

              Credentials and live provider objects never appear in the structural policy a
              document can inspect or copy.

              Processes

              Processes remain available. The policy may restrict launch-time facts XMD can
              control, including:

              • whether launch is allowed;
              • executable or launcher profile;
              • arguments;
              • working directory;
              • complete environment;
              • credential injection;
              • inherited descriptors; and
              • process lifetime and cancellation.

              After launch, filesystem access, network access, child processes, OS-visible
              credentials, and interpreter behavior require enforcement from an operating
              system, container, sandbox, or qualified launcher.

              Allowing an executable is not complete confinement. An interpreter or extensible
              tool may expose broader behavior.

              If a workflow requests a launch restriction that the selected profile cannot
              enforce, XMD refuses before spawning. A restriction is never silently converted
              to ambient behavior.

              Agents

              Agents also remain available.

              An Agent provider may be asked to enforce restrictions on:

              • provider and model;
              • working directory and Workspace;
              • environment;
              • filesystem reads and writes;
              • commands and tools;
              • network;
              • MCP servers and tools;
              • mutation channels;
              • permission requests; and
              • credentials.

              For every requested dimension, the provider reports either:

              • enforced;
              • unsupported; or
              • not requested, using its documented ambient behavior.

              A requested unsupported restriction refuses before session creation, resumption,
              or Prompt execution.

              Prompt instructions do not count as enforcement. A permission callback is one
              decision point inside an already fixed ceiling, not the ceiling itself.

              Replay and portability

              A resumed workflow receives the same effective access as the original execution
              or a narrower intersection with the current host. Resumption never restores
              access that the current branch or environment no longer permits.

              A workflow describes the access its components require independently from the
              mechanism a local, CI, or cloud environment uses to enforce it.

              component requirements
              ⊆
              section's allowed access
              ⊆
              environment's enforceable access
              

              A restricted host's own recursive xmd invocation preserves the same or a
              narrower runtime profile. Authored arguments cannot restore broad runtime flags
              such as --allow-all.

              Delivered foundations

              These foundations demonstrate parts of the model. They do not yet provide a
              general lexical least-authority component.

              Blocking work

              Create focused child stories for every unassigned blocking item before
              implementation. Add their issue numbers and dependency order to this Quest.

              #227 remains the ordinary xmd run filesystem-containment story. It supports
              the Files boundary but does not deliver the complete Quest.

              Completion

              The Quest is complete when:

              • architecture and specifications explain the trusted and constrained profiles
                in the same terms;
              • the trusted host establishes one execution-owned root authority;
              • nested restrictions can only remove XMD-mediated access;
              • every delivered XMD domain checks the final request through an
                execution-private authorization boundary;
              • middleware replacement, another loaded copy, or a fabricated request cannot
                widen an effect;
              • Process and Agent providers report whether requested restrictions are
                enforceable and refuse unsupported requests;
              • resumption cannot widen the original or currently permitted access;
              • focused negative tests prove every delivered domain's restriction and
                fail-closed behavior;
              • public documentation states the exact boundary of every security claim; and
              • every blocking child story is complete.

              Out of scope

              • Choosing the public policy syntax in this Quest body.
              • Claiming arbitrary-code sandboxing for trusted authored workflows.
              • Requiring built-in-only workflows.
              • Prohibiting processes or Agents by default.
              • Treating Prompt instructions as security enforcement.
              • Solving general portable container, network, or operating-system sandboxing.
              • Describing XMD itself as an operating-system sandbox.

              Related work

              Activity

              Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

              Metadata

              Metadata

              Assignees

              No one assigned

                Labels

                questCoordinating story with dependency-ordered sub-issuessecuritySecurity hardening

                Projects

                No projects

                  Milestone

                  No milestone

                  Relationships

                  None yet

                  Development

                  No branches or pull requests

                  Issue actions

                  , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
                  Skip to content

                  Quest: Enforce least authority across xmd workflows #536

                  Description

                  @taras

                  Quest outcome

                  Let a workflow author restrict which XMD operations a section of a workflow and
                  its nested content may perform.

                  If an outer section removes access to a capability, no nested component can
                  restore that access through another XMD provider or middleware layer. A nested
                  section may remove additional access.

                  Here, XMD-mediated authority means the ability to perform an effect through
                  XMD's Files, Fetch, Process, Git, Git-host, Issue, Workspace, Agent, model, or
                  other trusted operation boundary.

                  Example

                  A supervised implementation workflow has three stages:

                  StageNeedsDoes not need
                  ImplementWorktree read/write, test processes, coding AgentDeployment credentials
                  ReviewRepository read, review AgentWorktree write, test processes, GitHub mutation
                  PublishApproved GitHub mutation and its credentialCoding Agent, arbitrary worktree access

                  The workflow restricts each stage to the XMD operations it needs.

                  If the Review stage installs another Files provider, loads another copy of an
                  XMD package, or calls nested components, it still cannot recover write access
                  removed by the outer restriction.

                  If the selected Agent or process launcher cannot enforce a requested
                  restriction, the stage refuses before starting that Agent or process. It never
                  runs with broader access silently.

                  The public Markdown form for expressing these restrictions remains a design
                  decision. This Quest owns the security contract and the child stories that
                  deliver it; it does not choose a permission-language syntax in this body.

                  Why this matters

                  Executable workflows already try to keep known behavior in the document and use
                  Agents only where judgment is required. Least authority applies the same idea to
                  effects: each part receives only the access it needs.

                  Lexical composition already gives XMD a useful shape for this boundary. A
                  restriction applies to nested content and ends with the scope that installed it.

                  Ordinary middleware alone is not a security boundary. A component can replace
                  middleware, trusted authored JavaScript can call runtime APIs directly, and a
                  launched process or Agent becomes a separately executing program.

                  The Quest must therefore state exactly which operations XMD controls and avoid
                  claiming broader sandboxing.

                  Initial security profile

                  The initial profile supports trusted authored workflows.

                  Markdown components, eval blocks, function components, imports, JavaScript,
                  processes, and Agents remain usable. Authored JavaScript is trusted.

                  XMD guarantees monotonic restriction only for effects that pass through its
                  trusted operation boundaries:

                  host's maximum XMD access
                  ↓
                  access available to the workflow root
                  ↓
                  outer section restriction
                  ↓
                  nested section restriction
                  ↓
                  final authorization
                  ↓
                  effect
                  

                  Each downward step may preserve or remove access. It may never add access above
                  its parent.

                  Direct JavaScript calls to Deno, Node, global fetch, native libraries, or
                  arbitrary SDKs remain outside this initial guarantee. Do not describe this
                  profile as an arbitrary-code sandbox.

                  Future constrained profile

                  A separate constrained or untrusted profile may prohibit, inspect, or isolate
                  authored JavaScript, imports, native APIs, processes, and Agents.

                  Only that stronger profile could claim that everything beneath a restriction is
                  confined to it, regardless of how the code attempts an effect.

                  Useful least-authority support for trusted workflows does not wait for that
                  future profile.

                  Authorization boundary

                  The trusted host establishes the maximum XMD-mediated access before authored
                  work begins. That maximum is owned by the execution, not stored in replaceable
                  middleware or Context.

                  Before an effect occurs:

                  1. the trusted provider normalizes the final request;
                  2. every active lexical restriction evaluates that same request;
                  3. an execution-private authorization gate records acceptance; and
                  4. the provider performs the effect.

                  Ordinary middleware may route, observe, transform, instrument, synthesize,
                  refuse, or delegate. Its return value does not authorize an effect.

                  A fabricated request, another loaded package copy, a captured public wrapper,
                  or a replacement provider cannot invoke the private authorization gate or widen
                  the active access.

                  The final check occurs immediately before the effect rather than trusting a
                  capability object handed down earlier.

                  Initial XMD domains

                  Candidate domains include:

                  • document Files;
                  • Fetch;
                  • environment reads through XMD;
                  • Process and Service launch;
                  • Git and Git-host effects;
                  • Issue-provider effects;
                  • Workspace effects;
                  • Agent and model invocation; and
                  • other recorded external effects.

                  The first implementation need not cover every domain. Every delivered domain
                  must document what can be restricted, how the provider enforces it, and what
                  happens when enforcement is unavailable.

                  Credentials and live provider objects never appear in the structural policy a
                  document can inspect or copy.

                  Processes

                  Processes remain available. The policy may restrict launch-time facts XMD can
                  control, including:

                  • whether launch is allowed;
                  • executable or launcher profile;
                  • arguments;
                  • working directory;
                  • complete environment;
                  • credential injection;
                  • inherited descriptors; and
                  • process lifetime and cancellation.

                  After launch, filesystem access, network access, child processes, OS-visible
                  credentials, and interpreter behavior require enforcement from an operating
                  system, container, sandbox, or qualified launcher.

                  Allowing an executable is not complete confinement. An interpreter or extensible
                  tool may expose broader behavior.

                  If a workflow requests a launch restriction that the selected profile cannot
                  enforce, XMD refuses before spawning. A restriction is never silently converted
                  to ambient behavior.

                  Agents

                  Agents also remain available.

                  An Agent provider may be asked to enforce restrictions on:

                  • provider and model;
                  • working directory and Workspace;
                  • environment;
                  • filesystem reads and writes;
                  • commands and tools;
                  • network;
                  • MCP servers and tools;
                  • mutation channels;
                  • permission requests; and
                  • credentials.

                  For every requested dimension, the provider reports either:

                  • enforced;
                  • unsupported; or
                  • not requested, using its documented ambient behavior.

                  A requested unsupported restriction refuses before session creation, resumption,
                  or Prompt execution.

                  Prompt instructions do not count as enforcement. A permission callback is one
                  decision point inside an already fixed ceiling, not the ceiling itself.

                  Replay and portability

                  A resumed workflow receives the same effective access as the original execution
                  or a narrower intersection with the current host. Resumption never restores
                  access that the current branch or environment no longer permits.

                  A workflow describes the access its components require independently from the
                  mechanism a local, CI, or cloud environment uses to enforce it.

                  component requirements
                  ⊆
                  section's allowed access
                  ⊆
                  environment's enforceable access
                  

                  A restricted host's own recursive xmd invocation preserves the same or a
                  narrower runtime profile. Authored arguments cannot restore broad runtime flags
                  such as --allow-all.

                  Delivered foundations

                  These foundations demonstrate parts of the model. They do not yet provide a
                  general lexical least-authority component.

                  Blocking work

                  Create focused child stories for every unassigned blocking item before
                  implementation. Add their issue numbers and dependency order to this Quest.

                  #227 remains the ordinary xmd run filesystem-containment story. It supports
                  the Files boundary but does not deliver the complete Quest.

                  Completion

                  The Quest is complete when:

                  • architecture and specifications explain the trusted and constrained profiles
                    in the same terms;
                  • the trusted host establishes one execution-owned root authority;
                  • nested restrictions can only remove XMD-mediated access;
                  • every delivered XMD domain checks the final request through an
                    execution-private authorization boundary;
                  • middleware replacement, another loaded copy, or a fabricated request cannot
                    widen an effect;
                  • Process and Agent providers report whether requested restrictions are
                    enforceable and refuse unsupported requests;
                  • resumption cannot widen the original or currently permitted access;
                  • focused negative tests prove every delivered domain's restriction and
                    fail-closed behavior;
                  • public documentation states the exact boundary of every security claim; and
                  • every blocking child story is complete.

                  Out of scope

                  • Choosing the public policy syntax in this Quest body.
                  • Claiming arbitrary-code sandboxing for trusted authored workflows.
                  • Requiring built-in-only workflows.
                  • Prohibiting processes or Agents by default.
                  • Treating Prompt instructions as security enforcement.
                  • Solving general portable container, network, or operating-system sandboxing.
                  • Describing XMD itself as an operating-system sandbox.

                  Related work

                  Activity

                  Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                  Metadata

                  Metadata

                  Assignees

                  No one assigned

                    Labels

                    questCoordinating story with dependency-ordered sub-issuessecuritySecurity hardening

                    Projects

                    No projects

                      Milestone

                      No milestone

                      Relationships

                      None yet

                      Development

                      No branches or pull requests

                      Issue actions

                      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                      Skip to content

                      Quest: Enforce least authority across xmd workflows #536

                      Description

                      @taras

                      Quest outcome

                      Let a workflow author restrict which XMD operations a section of a workflow and
                      its nested content may perform.

                      If an outer section removes access to a capability, no nested component can
                      restore that access through another XMD provider or middleware layer. A nested
                      section may remove additional access.

                      Here, XMD-mediated authority means the ability to perform an effect through
                      XMD's Files, Fetch, Process, Git, Git-host, Issue, Workspace, Agent, model, or
                      other trusted operation boundary.

                      Example

                      A supervised implementation workflow has three stages:

                      StageNeedsDoes not need
                      ImplementWorktree read/write, test processes, coding AgentDeployment credentials
                      ReviewRepository read, review AgentWorktree write, test processes, GitHub mutation
                      PublishApproved GitHub mutation and its credentialCoding Agent, arbitrary worktree access

                      The workflow restricts each stage to the XMD operations it needs.

                      If the Review stage installs another Files provider, loads another copy of an
                      XMD package, or calls nested components, it still cannot recover write access
                      removed by the outer restriction.

                      If the selected Agent or process launcher cannot enforce a requested
                      restriction, the stage refuses before starting that Agent or process. It never
                      runs with broader access silently.

                      The public Markdown form for expressing these restrictions remains a design
                      decision. This Quest owns the security contract and the child stories that
                      deliver it; it does not choose a permission-language syntax in this body.

                      Why this matters

                      Executable workflows already try to keep known behavior in the document and use
                      Agents only where judgment is required. Least authority applies the same idea to
                      effects: each part receives only the access it needs.

                      Lexical composition already gives XMD a useful shape for this boundary. A
                      restriction applies to nested content and ends with the scope that installed it.

                      Ordinary middleware alone is not a security boundary. A component can replace
                      middleware, trusted authored JavaScript can call runtime APIs directly, and a
                      launched process or Agent becomes a separately executing program.

                      The Quest must therefore state exactly which operations XMD controls and avoid
                      claiming broader sandboxing.

                      Initial security profile

                      The initial profile supports trusted authored workflows.

                      Markdown components, eval blocks, function components, imports, JavaScript,
                      processes, and Agents remain usable. Authored JavaScript is trusted.

                      XMD guarantees monotonic restriction only for effects that pass through its
                      trusted operation boundaries:

                      host's maximum XMD access
                      ↓
                      access available to the workflow root
                      ↓
                      outer section restriction
                      ↓
                      nested section restriction
                      ↓
                      final authorization
                      ↓
                      effect
                      

                      Each downward step may preserve or remove access. It may never add access above
                      its parent.

                      Direct JavaScript calls to Deno, Node, global fetch, native libraries, or
                      arbitrary SDKs remain outside this initial guarantee. Do not describe this
                      profile as an arbitrary-code sandbox.

                      Future constrained profile

                      A separate constrained or untrusted profile may prohibit, inspect, or isolate
                      authored JavaScript, imports, native APIs, processes, and Agents.

                      Only that stronger profile could claim that everything beneath a restriction is
                      confined to it, regardless of how the code attempts an effect.

                      Useful least-authority support for trusted workflows does not wait for that
                      future profile.

                      Authorization boundary

                      The trusted host establishes the maximum XMD-mediated access before authored
                      work begins. That maximum is owned by the execution, not stored in replaceable
                      middleware or Context.

                      Before an effect occurs:

                      1. the trusted provider normalizes the final request;
                      2. every active lexical restriction evaluates that same request;
                      3. an execution-private authorization gate records acceptance; and
                      4. the provider performs the effect.

                      Ordinary middleware may route, observe, transform, instrument, synthesize,
                      refuse, or delegate. Its return value does not authorize an effect.

                      A fabricated request, another loaded package copy, a captured public wrapper,
                      or a replacement provider cannot invoke the private authorization gate or widen
                      the active access.

                      The final check occurs immediately before the effect rather than trusting a
                      capability object handed down earlier.

                      Initial XMD domains

                      Candidate domains include:

                      • document Files;
                      • Fetch;
                      • environment reads through XMD;
                      • Process and Service launch;
                      • Git and Git-host effects;
                      • Issue-provider effects;
                      • Workspace effects;
                      • Agent and model invocation; and
                      • other recorded external effects.

                      The first implementation need not cover every domain. Every delivered domain
                      must document what can be restricted, how the provider enforces it, and what
                      happens when enforcement is unavailable.

                      Credentials and live provider objects never appear in the structural policy a
                      document can inspect or copy.

                      Processes

                      Processes remain available. The policy may restrict launch-time facts XMD can
                      control, including:

                      • whether launch is allowed;
                      • executable or launcher profile;
                      • arguments;
                      • working directory;
                      • complete environment;
                      • credential injection;
                      • inherited descriptors; and
                      • process lifetime and cancellation.

                      After launch, filesystem access, network access, child processes, OS-visible
                      credentials, and interpreter behavior require enforcement from an operating
                      system, container, sandbox, or qualified launcher.

                      Allowing an executable is not complete confinement. An interpreter or extensible
                      tool may expose broader behavior.

                      If a workflow requests a launch restriction that the selected profile cannot
                      enforce, XMD refuses before spawning. A restriction is never silently converted
                      to ambient behavior.

                      Agents

                      Agents also remain available.

                      An Agent provider may be asked to enforce restrictions on:

                      • provider and model;
                      • working directory and Workspace;
                      • environment;
                      • filesystem reads and writes;
                      • commands and tools;
                      • network;
                      • MCP servers and tools;
                      • mutation channels;
                      • permission requests; and
                      • credentials.

                      For every requested dimension, the provider reports either:

                      • enforced;
                      • unsupported; or
                      • not requested, using its documented ambient behavior.

                      A requested unsupported restriction refuses before session creation, resumption,
                      or Prompt execution.

                      Prompt instructions do not count as enforcement. A permission callback is one
                      decision point inside an already fixed ceiling, not the ceiling itself.

                      Replay and portability

                      A resumed workflow receives the same effective access as the original execution
                      or a narrower intersection with the current host. Resumption never restores
                      access that the current branch or environment no longer permits.

                      A workflow describes the access its components require independently from the
                      mechanism a local, CI, or cloud environment uses to enforce it.

                      component requirements
                      ⊆
                      section's allowed access
                      ⊆
                      environment's enforceable access
                      

                      A restricted host's own recursive xmd invocation preserves the same or a
                      narrower runtime profile. Authored arguments cannot restore broad runtime flags
                      such as --allow-all.

                      Delivered foundations

                      These foundations demonstrate parts of the model. They do not yet provide a
                      general lexical least-authority component.

                      Blocking work

                      Create focused child stories for every unassigned blocking item before
                      implementation. Add their issue numbers and dependency order to this Quest.

                      #227 remains the ordinary xmd run filesystem-containment story. It supports
                      the Files boundary but does not deliver the complete Quest.

                      Completion

                      The Quest is complete when:

                      • architecture and specifications explain the trusted and constrained profiles
                        in the same terms;
                      • the trusted host establishes one execution-owned root authority;
                      • nested restrictions can only remove XMD-mediated access;
                      • every delivered XMD domain checks the final request through an
                        execution-private authorization boundary;
                      • middleware replacement, another loaded copy, or a fabricated request cannot
                        widen an effect;
                      • Process and Agent providers report whether requested restrictions are
                        enforceable and refuse unsupported requests;
                      • resumption cannot widen the original or currently permitted access;
                      • focused negative tests prove every delivered domain's restriction and
                        fail-closed behavior;
                      • public documentation states the exact boundary of every security claim; and
                      • every blocking child story is complete.

                      Out of scope

                      • Choosing the public policy syntax in this Quest body.
                      • Claiming arbitrary-code sandboxing for trusted authored workflows.
                      • Requiring built-in-only workflows.
                      • Prohibiting processes or Agents by default.
                      • Treating Prompt instructions as security enforcement.
                      • Solving general portable container, network, or operating-system sandboxing.
                      • Describing XMD itself as an operating-system sandbox.

                      Related work

                      Activity

                      Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                      Metadata

                      Metadata

                      Assignees

                      No one assigned

                        Labels

                        questCoordinating story with dependency-ordered sub-issuessecuritySecurity hardening

                        Projects

                        No projects

                          Milestone

                          No milestone

                          Relationships

                          None yet

                          Development

                          No branches or pull requests

                          Issue actions

                          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                          Skip to content

                          Quest: Enforce least authority across xmd workflows #536

                          Description

                          @taras

                          Quest outcome

                          Let a workflow author restrict which XMD operations a section of a workflow and
                          its nested content may perform.

                          If an outer section removes access to a capability, no nested component can
                          restore that access through another XMD provider or middleware layer. A nested
                          section may remove additional access.

                          Here, XMD-mediated authority means the ability to perform an effect through
                          XMD's Files, Fetch, Process, Git, Git-host, Issue, Workspace, Agent, model, or
                          other trusted operation boundary.

                          Example

                          A supervised implementation workflow has three stages:

                          StageNeedsDoes not need
                          ImplementWorktree read/write, test processes, coding AgentDeployment credentials
                          ReviewRepository read, review AgentWorktree write, test processes, GitHub mutation
                          PublishApproved GitHub mutation and its credentialCoding Agent, arbitrary worktree access

                          The workflow restricts each stage to the XMD operations it needs.

                          If the Review stage installs another Files provider, loads another copy of an
                          XMD package, or calls nested components, it still cannot recover write access
                          removed by the outer restriction.

                          If the selected Agent or process launcher cannot enforce a requested
                          restriction, the stage refuses before starting that Agent or process. It never
                          runs with broader access silently.

                          The public Markdown form for expressing these restrictions remains a design
                          decision. This Quest owns the security contract and the child stories that
                          deliver it; it does not choose a permission-language syntax in this body.

                          Why this matters

                          Executable workflows already try to keep known behavior in the document and use
                          Agents only where judgment is required. Least authority applies the same idea to
                          effects: each part receives only the access it needs.

                          Lexical composition already gives XMD a useful shape for this boundary. A
                          restriction applies to nested content and ends with the scope that installed it.

                          Ordinary middleware alone is not a security boundary. A component can replace
                          middleware, trusted authored JavaScript can call runtime APIs directly, and a
                          launched process or Agent becomes a separately executing program.

                          The Quest must therefore state exactly which operations XMD controls and avoid
                          claiming broader sandboxing.

                          Initial security profile

                          The initial profile supports trusted authored workflows.

                          Markdown components, eval blocks, function components, imports, JavaScript,
                          processes, and Agents remain usable. Authored JavaScript is trusted.

                          XMD guarantees monotonic restriction only for effects that pass through its
                          trusted operation boundaries:

                          host's maximum XMD access
                          ↓
                          access available to the workflow root
                          ↓
                          outer section restriction
                          ↓
                          nested section restriction
                          ↓
                          final authorization
                          ↓
                          effect
                          

                          Each downward step may preserve or remove access. It may never add access above
                          its parent.

                          Direct JavaScript calls to Deno, Node, global fetch, native libraries, or
                          arbitrary SDKs remain outside this initial guarantee. Do not describe this
                          profile as an arbitrary-code sandbox.

                          Future constrained profile

                          A separate constrained or untrusted profile may prohibit, inspect, or isolate
                          authored JavaScript, imports, native APIs, processes, and Agents.

                          Only that stronger profile could claim that everything beneath a restriction is
                          confined to it, regardless of how the code attempts an effect.

                          Useful least-authority support for trusted workflows does not wait for that
                          future profile.

                          Authorization boundary

                          The trusted host establishes the maximum XMD-mediated access before authored
                          work begins. That maximum is owned by the execution, not stored in replaceable
                          middleware or Context.

                          Before an effect occurs:

                          1. the trusted provider normalizes the final request;
                          2. every active lexical restriction evaluates that same request;
                          3. an execution-private authorization gate records acceptance; and
                          4. the provider performs the effect.

                          Ordinary middleware may route, observe, transform, instrument, synthesize,
                          refuse, or delegate. Its return value does not authorize an effect.

                          A fabricated request, another loaded package copy, a captured public wrapper,
                          or a replacement provider cannot invoke the private authorization gate or widen
                          the active access.

                          The final check occurs immediately before the effect rather than trusting a
                          capability object handed down earlier.

                          Initial XMD domains

                          Candidate domains include:

                          • document Files;
                          • Fetch;
                          • environment reads through XMD;
                          • Process and Service launch;
                          • Git and Git-host effects;
                          • Issue-provider effects;
                          • Workspace effects;
                          • Agent and model invocation; and
                          • other recorded external effects.

                          The first implementation need not cover every domain. Every delivered domain
                          must document what can be restricted, how the provider enforces it, and what
                          happens when enforcement is unavailable.

                          Credentials and live provider objects never appear in the structural policy a
                          document can inspect or copy.

                          Processes

                          Processes remain available. The policy may restrict launch-time facts XMD can
                          control, including:

                          • whether launch is allowed;
                          • executable or launcher profile;
                          • arguments;
                          • working directory;
                          • complete environment;
                          • credential injection;
                          • inherited descriptors; and
                          • process lifetime and cancellation.

                          After launch, filesystem access, network access, child processes, OS-visible
                          credentials, and interpreter behavior require enforcement from an operating
                          system, container, sandbox, or qualified launcher.

                          Allowing an executable is not complete confinement. An interpreter or extensible
                          tool may expose broader behavior.

                          If a workflow requests a launch restriction that the selected profile cannot
                          enforce, XMD refuses before spawning. A restriction is never silently converted
                          to ambient behavior.

                          Agents

                          Agents also remain available.

                          An Agent provider may be asked to enforce restrictions on:

                          • provider and model;
                          • working directory and Workspace;
                          • environment;
                          • filesystem reads and writes;
                          • commands and tools;
                          • network;
                          • MCP servers and tools;
                          • mutation channels;
                          • permission requests; and
                          • credentials.

                          For every requested dimension, the provider reports either:

                          • enforced;
                          • unsupported; or
                          • not requested, using its documented ambient behavior.

                          A requested unsupported restriction refuses before session creation, resumption,
                          or Prompt execution.

                          Prompt instructions do not count as enforcement. A permission callback is one
                          decision point inside an already fixed ceiling, not the ceiling itself.

                          Replay and portability

                          A resumed workflow receives the same effective access as the original execution
                          or a narrower intersection with the current host. Resumption never restores
                          access that the current branch or environment no longer permits.

                          A workflow describes the access its components require independently from the
                          mechanism a local, CI, or cloud environment uses to enforce it.

                          component requirements
                          ⊆
                          section's allowed access
                          ⊆
                          environment's enforceable access
                          

                          A restricted host's own recursive xmd invocation preserves the same or a
                          narrower runtime profile. Authored arguments cannot restore broad runtime flags
                          such as --allow-all.

                          Delivered foundations

                          These foundations demonstrate parts of the model. They do not yet provide a
                          general lexical least-authority component.

                          Blocking work

                          Create focused child stories for every unassigned blocking item before
                          implementation. Add their issue numbers and dependency order to this Quest.

                          #227 remains the ordinary xmd run filesystem-containment story. It supports
                          the Files boundary but does not deliver the complete Quest.

                          Completion

                          The Quest is complete when:

                          • architecture and specifications explain the trusted and constrained profiles
                            in the same terms;
                          • the trusted host establishes one execution-owned root authority;
                          • nested restrictions can only remove XMD-mediated access;
                          • every delivered XMD domain checks the final request through an
                            execution-private authorization boundary;
                          • middleware replacement, another loaded copy, or a fabricated request cannot
                            widen an effect;
                          • Process and Agent providers report whether requested restrictions are
                            enforceable and refuse unsupported requests;
                          • resumption cannot widen the original or currently permitted access;
                          • focused negative tests prove every delivered domain's restriction and
                            fail-closed behavior;
                          • public documentation states the exact boundary of every security claim; and
                          • every blocking child story is complete.

                          Out of scope

                          • Choosing the public policy syntax in this Quest body.
                          • Claiming arbitrary-code sandboxing for trusted authored workflows.
                          • Requiring built-in-only workflows.
                          • Prohibiting processes or Agents by default.
                          • Treating Prompt instructions as security enforcement.
                          • Solving general portable container, network, or operating-system sandboxing.
                          • Describing XMD itself as an operating-system sandbox.

                          Related work

                          Activity

                          Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                          Metadata

                          Metadata

                          Assignees

                          No one assigned

                            Labels

                            questCoordinating story with dependency-ordered sub-issuessecuritySecurity hardening

                            Projects

                            No projects

                              Milestone

                              No milestone

                              Relationships

                              None yet

                              Development

                              No branches or pull requests

                              Issue actions

                              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                              Skip to content

                              Quest: Enforce least authority across xmd workflows #536

                              Description

                              @taras

                              Quest outcome

                              Let a workflow author restrict which XMD operations a section of a workflow and
                              its nested content may perform.

                              If an outer section removes access to a capability, no nested component can
                              restore that access through another XMD provider or middleware layer. A nested
                              section may remove additional access.

                              Here, XMD-mediated authority means the ability to perform an effect through
                              XMD's Files, Fetch, Process, Git, Git-host, Issue, Workspace, Agent, model, or
                              other trusted operation boundary.

                              Example

                              A supervised implementation workflow has three stages:

                              StageNeedsDoes not need
                              ImplementWorktree read/write, test processes, coding AgentDeployment credentials
                              ReviewRepository read, review AgentWorktree write, test processes, GitHub mutation
                              PublishApproved GitHub mutation and its credentialCoding Agent, arbitrary worktree access

                              The workflow restricts each stage to the XMD operations it needs.

                              If the Review stage installs another Files provider, loads another copy of an
                              XMD package, or calls nested components, it still cannot recover write access
                              removed by the outer restriction.

                              If the selected Agent or process launcher cannot enforce a requested
                              restriction, the stage refuses before starting that Agent or process. It never
                              runs with broader access silently.

                              The public Markdown form for expressing these restrictions remains a design
                              decision. This Quest owns the security contract and the child stories that
                              deliver it; it does not choose a permission-language syntax in this body.

                              Why this matters

                              Executable workflows already try to keep known behavior in the document and use
                              Agents only where judgment is required. Least authority applies the same idea to
                              effects: each part receives only the access it needs.

                              Lexical composition already gives XMD a useful shape for this boundary. A
                              restriction applies to nested content and ends with the scope that installed it.

                              Ordinary middleware alone is not a security boundary. A component can replace
                              middleware, trusted authored JavaScript can call runtime APIs directly, and a
                              launched process or Agent becomes a separately executing program.

                              The Quest must therefore state exactly which operations XMD controls and avoid
                              claiming broader sandboxing.

                              Initial security profile

                              The initial profile supports trusted authored workflows.

                              Markdown components, eval blocks, function components, imports, JavaScript,
                              processes, and Agents remain usable. Authored JavaScript is trusted.

                              XMD guarantees monotonic restriction only for effects that pass through its
                              trusted operation boundaries:

                              host's maximum XMD access
                              ↓
                              access available to the workflow root
                              ↓
                              outer section restriction
                              ↓
                              nested section restriction
                              ↓
                              final authorization
                              ↓
                              effect
                              

                              Each downward step may preserve or remove access. It may never add access above
                              its parent.

                              Direct JavaScript calls to Deno, Node, global fetch, native libraries, or
                              arbitrary SDKs remain outside this initial guarantee. Do not describe this
                              profile as an arbitrary-code sandbox.

                              Future constrained profile

                              A separate constrained or untrusted profile may prohibit, inspect, or isolate
                              authored JavaScript, imports, native APIs, processes, and Agents.

                              Only that stronger profile could claim that everything beneath a restriction is
                              confined to it, regardless of how the code attempts an effect.

                              Useful least-authority support for trusted workflows does not wait for that
                              future profile.

                              Authorization boundary

                              The trusted host establishes the maximum XMD-mediated access before authored
                              work begins. That maximum is owned by the execution, not stored in replaceable
                              middleware or Context.

                              Before an effect occurs:

                              1. the trusted provider normalizes the final request;
                              2. every active lexical restriction evaluates that same request;
                              3. an execution-private authorization gate records acceptance; and
                              4. the provider performs the effect.

                              Ordinary middleware may route, observe, transform, instrument, synthesize,
                              refuse, or delegate. Its return value does not authorize an effect.

                              A fabricated request, another loaded package copy, a captured public wrapper,
                              or a replacement provider cannot invoke the private authorization gate or widen
                              the active access.

                              The final check occurs immediately before the effect rather than trusting a
                              capability object handed down earlier.

                              Initial XMD domains

                              Candidate domains include:

                              • document Files;
                              • Fetch;
                              • environment reads through XMD;
                              • Process and Service launch;
                              • Git and Git-host effects;
                              • Issue-provider effects;
                              • Workspace effects;
                              • Agent and model invocation; and
                              • other recorded external effects.

                              The first implementation need not cover every domain. Every delivered domain
                              must document what can be restricted, how the provider enforces it, and what
                              happens when enforcement is unavailable.

                              Credentials and live provider objects never appear in the structural policy a
                              document can inspect or copy.

                              Processes

                              Processes remain available. The policy may restrict launch-time facts XMD can
                              control, including:

                              • whether launch is allowed;
                              • executable or launcher profile;
                              • arguments;
                              • working directory;
                              • complete environment;
                              • credential injection;
                              • inherited descriptors; and
                              • process lifetime and cancellation.

                              After launch, filesystem access, network access, child processes, OS-visible
                              credentials, and interpreter behavior require enforcement from an operating
                              system, container, sandbox, or qualified launcher.

                              Allowing an executable is not complete confinement. An interpreter or extensible
                              tool may expose broader behavior.

                              If a workflow requests a launch restriction that the selected profile cannot
                              enforce, XMD refuses before spawning. A restriction is never silently converted
                              to ambient behavior.

                              Agents

                              Agents also remain available.

                              An Agent provider may be asked to enforce restrictions on:

                              • provider and model;
                              • working directory and Workspace;
                              • environment;
                              • filesystem reads and writes;
                              • commands and tools;
                              • network;
                              • MCP servers and tools;
                              • mutation channels;
                              • permission requests; and
                              • credentials.

                              For every requested dimension, the provider reports either:

                              • enforced;
                              • unsupported; or
                              • not requested, using its documented ambient behavior.

                              A requested unsupported restriction refuses before session creation, resumption,
                              or Prompt execution.

                              Prompt instructions do not count as enforcement. A permission callback is one
                              decision point inside an already fixed ceiling, not the ceiling itself.

                              Replay and portability

                              A resumed workflow receives the same effective access as the original execution
                              or a narrower intersection with the current host. Resumption never restores
                              access that the current branch or environment no longer permits.

                              A workflow describes the access its components require independently from the
                              mechanism a local, CI, or cloud environment uses to enforce it.

                              component requirements
                              ⊆
                              section's allowed access
                              ⊆
                              environment's enforceable access
                              

                              A restricted host's own recursive xmd invocation preserves the same or a
                              narrower runtime profile. Authored arguments cannot restore broad runtime flags
                              such as --allow-all.

                              Delivered foundations

                              These foundations demonstrate parts of the model. They do not yet provide a
                              general lexical least-authority component.

                              Blocking work

                              Create focused child stories for every unassigned blocking item before
                              implementation. Add their issue numbers and dependency order to this Quest.

                              #227 remains the ordinary xmd run filesystem-containment story. It supports
                              the Files boundary but does not deliver the complete Quest.

                              Completion

                              The Quest is complete when:

                              • architecture and specifications explain the trusted and constrained profiles
                                in the same terms;
                              • the trusted host establishes one execution-owned root authority;
                              • nested restrictions can only remove XMD-mediated access;
                              • every delivered XMD domain checks the final request through an
                                execution-private authorization boundary;
                              • middleware replacement, another loaded copy, or a fabricated request cannot
                                widen an effect;
                              • Process and Agent providers report whether requested restrictions are
                                enforceable and refuse unsupported requests;
                              • resumption cannot widen the original or currently permitted access;
                              • focused negative tests prove every delivered domain's restriction and
                                fail-closed behavior;
                              • public documentation states the exact boundary of every security claim; and
                              • every blocking child story is complete.

                              Out of scope

                              • Choosing the public policy syntax in this Quest body.
                              • Claiming arbitrary-code sandboxing for trusted authored workflows.
                              • Requiring built-in-only workflows.
                              • Prohibiting processes or Agents by default.
                              • Treating Prompt instructions as security enforcement.
                              • Solving general portable container, network, or operating-system sandboxing.
                              • Describing XMD itself as an operating-system sandbox.

                              Related work

                              Activity

                              Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                              Metadata

                              Metadata

                              Assignees

                              No one assigned

                                Labels

                                questCoordinating story with dependency-ordered sub-issuessecuritySecurity hardening

                                Projects

                                No projects

                                  Milestone

                                  No milestone

                                  Relationships

                                  None yet

                                  Development

                                  No branches or pull requests

                                  Issue actions