Skip to content

Latest commit

 

History

History
742 lines (414 loc) · 15 KB

File metadata and controls

742 lines (414 loc) · 15 KB

⭐ FAQ — Structural Plugin

Structural Capability Visibility and Bounded Digital Action Authority

Deterministic • Task-Bounded • Revalidation-Aware • Replay-Oriented


SECTION A — Purpose and Positioning

A1. What is Structural Plugin?

Structural Plugin is a deterministic reference architecture for governing capability visibility and task-specific digital action authority inside a declared mediated execution boundary.

Its central separation is:

capability != visibility != task authority != security authorization != execution


A2. Is Structural Plugin a browser extension?

The current v0.3.0 implementation is a self-contained browser reference demonstration plus a separate Python verifier.

A real browser extension is a later integration direction.

The architecture is intended to remain broader than one extension runtime.


A3. What problem does Structural Plugin explore?

It explores the gap between broad software capability and narrow user task authority.

A system may be able to send, upload, delete, purchase, share, or change settings while the user's current instruction authorizes only reading or drafting.

The reference separates:

available capability > task-visible capability

and:

task-visible capability > admitted action authority


A4. What is the core idea in one line?

Keep software capable while structurally bounding what the task can see and what each resolved action may execute.


A5. What are the two primary boundaries?

Boundary 1:

Capability Surface Resolver

It answers:

Should this capability enter the active task surface?

Boundary 2:

Action Authority Resolver

It answers:

Does this specific resolved action fit inside the active task authority?


A6. Is this mainly for AI agents?

AI agents and browser automation are strong application directions, but the architecture is not limited to AI.

A proposal may come from:

  • an AI agent;
  • browser automation;
  • an extension;
  • an application integration;
  • another declared software actor.

The proposal source does not automatically become execution authority.


A7. Does Structural Plugin replace security?

No.

It does not replace:

  • authentication;
  • application authorization;
  • browser security;
  • operating-system security;
  • endpoint protection;
  • network security;
  • payment authorization;
  • legal or organizational authority.

Its bounded question is:

Does this resolved action fit inside the currently declared task authority?


A8. Is Structural Plugin a prompt-injection detector?

No.

It may complement prompt-injection defenses, but its central claim does not require perfect malicious-instruction classification.

For example:

instruction requests UPLOAD

active authority = READ_ONLY

therefore:

UPLOAD outside authority -> no admitted execution

The principle is:

instruction != authority


SECTION B — Capability Visibility

B1. What does capability mean?

Capability means that the software or environment can technically perform an operation.

Capability existence does not determine whether the current task should see or use that operation.


B2. What does visibility mean?

Visibility describes whether a supported capability enters the active task surface.

Current conceptual states are:

VISIBLE

ISOLATED

DORMANT

FORBIDDEN

DEFERRED

BLOCKED


B3. What is the Least Visibility Principle?

capability existence may remain constant while task visibility changes structurally

A capability does not have to be deleted from the software merely because the current task does not need it.


B4. What is the difference between DORMANT and FORBIDDEN?

DORMANT means the capability exists but is not needed for the current task surface.

FORBIDDEN means the active task profile explicitly excludes the capability.


B5. What is DEFERRED?

DEFERRED means the capability may become relevant after a later explicit authority expansion, but it is not active for the current task.

The current email reference uses:

SEND_EMAIL = DEFERRED

while the active task remains draft-only.


B6. Does hiding a capability provide the only protection?

No.

The demonstration deliberately supports an unrestricted proposal path.

An out-of-surface proposal still passes through the Action Authority Resolver.

This tests:

least visibility != sole protection


SECTION C — Action Authority

C1. What is the Action Authority Envelope?

It is the task-specific structural object that declares what actions and targets may execute under the current reference profile.

The current draft-only envelope admits:

READ_THREAD

CREATE_DRAFT

EDIT_DRAFT

and prohibits:

SEND_EMAIL

ADD_RECIPIENT

FORWARD_ATTACHMENT

UPLOAD_LOCAL_FILE

DELETE_MESSAGE


C2. Does an action name fully define authority?

No.

SEND_EMAIL is incomplete without target, recipients, content, and other relevant structure.

The governing principle is:

same action name != same authority


C3. What is a Canonical Action Object?

It is the normalized action representation used by the resolver.

The current profile binds:

  • proposal identity;
  • action;
  • target;
  • subject;
  • origin;
  • destination;
  • data set;
  • recipient set;
  • amount;
  • unit;
  • quantity;
  • scope;
  • action identity.

C4. What are the current admission states?

ADMITTED

ESCALATION_REQUIRED

REFUSED

UNSUPPORTED

STALE is a post-admission revalidation or disposition state, not an initial admission state.


C5. What is the difference between REFUSED and ESCALATION_REQUIRED?

REFUSED means the action conflicts with an explicit boundary in the current profile.

ESCALATION_REQUIRED means the action may be meaningful but exceeds the current envelope in a way the model treats as potentially expandable.


C6. What is UNSUPPORTED?

UNSUPPORTED means the active profile does not define the action class sufficiently for admission.

The safe relation is:

UNSUPPORTED != ADMITTED


SECTION D — Authority Delta

D1. What is Authority Delta?

Authority Delta identifies the authority required by the proposed action that is missing from the active envelope.

Delta_A = A_required - A_active


D2. Why is Authority Delta useful?

It allows a future interface to explain exactly what changed instead of asking for a broad new permission grant.

For example:

SEND_EMAIL -> DATA_EGRESS + SEND_COMMITMENT


D3. Does Authority Delta automatically grant anything?

No.

It is an explanation and comparison artifact.

It does not itself expand the active authority envelope.


SECTION E — Data Flow and Consequence

E1. Why does Structural Plugin resolve data flow separately?

Because digital actions often move information.

The action verb alone may not reveal:

  • what data leaves the current context;
  • where it goes;
  • whether a new external recipient is introduced.

E2. What consequence classes are currently used?

The current reference includes:

OBSERVE

PREPARE

MUTATE_REVERSIBLE

DISCLOSE

COMMIT

IRREVERSIBLE

Unsupported actions may resolve to:

UNCLASSIFIED


E3. Is the consequence model a universal risk scale?

No.

The current model is a bounded reference vocabulary.

Future profiles may represent consequence across multiple dimensions.


SECTION F — Revalidation and Staleness

F1. Why revalidate after admission?

Because state may change between preview and execution.

A recipient, file, target, origin, thread version, draft version, or other material dependency may change.

The principle is:

admission at preview time != permanent execution authority


F2. What does STALE mean?

STALE means the relevant current-state dependency commitment no longer matches the commitment used when the action was admitted.

The current state-drift demonstration preserves:

admission_state = ADMITTED

revalidation_state = STALE

observed_execution_state = STALE


F3. Does every state change make the action stale?

No universal whole-state invalidation claim is made.

The current profile commits declared action-relevant dependencies.

A future profile may refine those dependencies further.


SECTION G — Execution

G1. Does ADMITTED mean the action definitely executes?

No.

Admission and execution remain separate.

The underlying application may reject the action, fail, or return an unknown result.


G2. What execution states are currently represented?

The current reference uses states including:

NOT_DISPATCHED

OBSERVED_COMPLETED

OBSERVED_FAILED

STALE

RESULT_UNKNOWN


G3. Does the current demo execute real email sends or uploads?

No.

The current reference uses bounded simulated execution for the supported safe task path.

The higher-consequence actions are demonstrated through structural resolution and non-dispatch.


SECTION H — Evidence

H1. What is a Structural Plugin receipt?

A receipt binds the supported decision and execution evidence for one governed proposal.

It includes identities and states for:

  • task;
  • capability surface;
  • authority envelope;
  • canonical action;
  • target;
  • data flow;
  • consequence;
  • authority delta;
  • admission;
  • revalidation;
  • execution observation.

H2. Is a refused action still evidence-bearing?

Yes.

A correct refusal can produce a valid receipt with:

Execution = NOT_DISPATCHED


H3. Is a stale action valid evidence?

Yes.

A correctly recorded stale action can belong to a verification bundle that passes reconstruction.

The verifier checks evidence consistency, not whether every action completed successfully.


SECTION I — Verification

I1. What does the browser audit verify?

The current SP-AUDIT-1-D02 suite covers:

  • core canonical behavior;
  • capability surface rules;
  • action authority;
  • revalidation;
  • receipts;
  • frozen vectors;
  • verification behavior;
  • permanent regressions.

Current result:

87/87 PASS


I2. What are the frozen vectors?

They are a committed 14-case decision corpus under:

SP-VECTORS-1-D01

Current vector-set identity:

vector_set_db8f530b88e4d68c97f8056c


I3. What does the separate Python verifier reconstruct?

For frozen vectors, it reconstructs supported decisions and identities.

For browser verification bundles, it checks and reconstructs:

  • bundle root;
  • profile identities;
  • task identity;
  • capability-surface identity;
  • authority-envelope identity;
  • entry count;
  • entry identities;
  • state chain;
  • canonical action and decision reconstruction;
  • revalidation outcome;
  • receipt reconstruction;
  • final execution-state binding.

I4. Does the verifier trust producer-generated PASS fields?

No.

The verifier reconstructs the declared supported evidence.


I5. Is third-party verification claimed?

No.

The current project demonstrates a separate Python implementation path and cross-implementation reconstruction for the tested corpus and bundles.

Third-party verification and certification are not claimed.


I6. What is the difference between a valid stale bundle and a tampered bundle?

A valid stale bundle accurately records:

ADMITTED -> STALE -> STALE

and reconstructs consistently.

A tampered bundle changes committed evidence without recomputing the governed relations and is rejected.


SECTION J — Current Reference Results

J1. What is the current browser audit result?

87/87 PASS

Audit identity:

audit_d0a742e78f17101746a1a3b6


J2. What is the current frozen vector result?

14/14 PASS

Vector-set identity:

vector_set_db8f530b88e4d68c97f8056c


J3. What safe bundle was confirmed across browser and Python?

bundle_77732628ebaa7306b94e4b33


J4. What stale bundle was confirmed across browser and Python?

bundle_57ad3c8ce0d12859488c85ef


J5. Was tamper rejection demonstrated?

Yes.

A deliberately modified safe bundle was rejected with failures including:

BUNDLE_ROOT_MISMATCH

ENTRY_2_ENTRY_IDENTITY_MISMATCH

ENTRY_2_DECISION_RECONSTRUCTION_MISMATCH

ENTRY_2_REVALIDATION_STATE_MISMATCH

ENTRY_2_REVALIDATION_REASON_MISMATCH


SECTION K — Relationships and Comparisons

K1. How is Structural Plugin related to CAPS?

CAPS explores:

capability existence != automatic visibility

Structural Plugin uses that separation as its first boundary and adds a second boundary for specific digital action authority.


K2. How is Structural Plugin related to SERA?

SERA governs bounded document mutation.

Structural Plugin governs broader digital action authority.

The shared discipline is that a proposal does not automatically become execution authority.


K3. How is Structural Plugin related to STRIDE?

STRIDE separates proposed intention from bounded physical motion authority.

Structural Plugin applies an analogous authority-separation discipline to digital action while using its own action, target, data-flow, and evidence model.


K4. Is Structural Plugin just least privilege?

It is compatible with least-authority thinking but explores a more explicit task-resolution path:

capability visibility

plus:

resolved action authority

plus:

current-state revalidation

plus:

reconstructable evidence


SECTION L — Scope and Non-Claims

L1. What does the current reference demonstrate?

Within the declared reference profiles and tested cases, it demonstrates:

  • deterministic capability-surface identities;
  • deterministic canonical action identities;
  • explicit action admission states;
  • explicit authority deltas;
  • data-flow resolution;
  • consequence classification;
  • current-state revalidation;
  • explicit stale execution prevention;
  • deterministic receipts;
  • verification entries and bundle roots;
  • 14 frozen decision vectors;
  • separate Python reconstruction;
  • tamper rejection.

L2. What does the current reference not establish?

It does not establish:

  • control over every browser action;
  • universal prompt-injection prevention;
  • universal secure execution;
  • endpoint integrity;
  • browser integrity;
  • universal application semantics;
  • production readiness;
  • third-party certification;
  • third-party verification;
  • legal authorization;
  • regulatory compliance;
  • universal usability superiority;
  • universal performance superiority.

L3. Is the project production-ready?

No production certification is claimed.

A production integration would require, where relevant:

  • application-specific adapters;
  • security review;
  • browser-extension review;
  • performance characterization;
  • failure-mode testing;
  • accessibility review;
  • domain-specific action profiles;
  • operational monitoring;
  • further independent validation.

L4. What is the strongest current claim?

The strongest current bounded claim is:

Structural Plugin demonstrates a deterministic reference architecture in which task capability visibility and task-specific digital action authority remain separate, material state changes can invalidate previously admitted execution, and supported evidence can be reconstructed through a separate Python implementation path.