Skip to content

Specify context-derived secret bindings for #1037 - #1407

Draft
ChristianPavilonis wants to merge 2 commits into
mainfrom
spec/1037-secret-scoping
Draft

ChristianPavilonis wants to merge 2 commits into
mainfrom
spec/1037-secret-scoping

Conversation

@ChristianPavilonis

Copy link
Copy Markdown
Collaborator

Summary

  • Specify context-derived secret bindings, keeping raw native credential values and existing config reference strings while deriving lookup keys from purpose, identity, and approved destination.
  • Include the independent design comparison's seven required amendments covering provisioning ABI stability, unresolved/resolved normalization, reference validation, CLI/native parity, private exporter construction, policy retirement, and send/diagnostic behavior.
  • Define the twelve secret contexts, four-adapter provisioning model, migration and rollback requirements, and executable release gates.

Changes

File Change
docs/superpowers/specs/2026-10-16-issue-1037-context-derived-secret-bindings-design.md Add the selected standalone design and its required implementation/proof contract.

Related issue

Refs #1037. This is a documentation-only design PR, not the security implementation. It deliberately does not close the issue. Runtime changes, the companion EdgeZero lookup-plan release/pin, migration tooling, and native security tests remain future work.

Test plan

  • Docs lint: npm run lint --prefix docs
  • Full docs formatting: npm run format --prefix docs -- --log-level debug
  • Documentation site build: npm run build --prefix docs
  • Focused Prettier check and git diff --cached --check
  • Re-ran the isolated fictional encoding model and confirmed the documented vector, framing samples, and generated-name lengths. This is not the shipping Rust implementation or runtime security proof.
  • Checked the standalone spec for vault/local-only references, all twelve scope rows, and fictional/reference URL hosts.
  • Repository URL-host linter: the installed ts lacks dev lint; attempts to build/run the repository CLI, including locked/offline runs, timed out during compilation before the linter executed. Static URL inspection found only github.com and example.com subdomains. Keeping this PR in draft pending that check.

No runtime behavior changed. Rust adapter suites, browser rendering, and native-provider credential/TLS/redirect tests were not run for this documentation change. The spec explicitly requires runtime proof before release. The docs build passed with warnings about existing VCL syntax highlighting and bundle size.

Checklist

Document the selected design for issue #1037 using raw native secret
values and purpose/identity/destination-derived lookup keys.

Include the independent comparison's required normalization, CLI/native
lookup, private-construction, retirement, and send-policy amendments.
This is a design-only change; implementation and runtime proof remain.

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Scope secret references to prevent config-store writers exfiltrating unrelated secrets

1 participant