docs: a website session is a secret without a reference - configuration-tiers says why raw login writes it into the secrets file itself and that the 1Password safeguards do not cover it; the secret tier row names it (#169 close)
Files changed: - docs/explanation/configuration-tiers.md - docs/reference/configuration.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
This commit is contained in:
1 parent
5994b2a88c
commit
c06bde2e95
2 files changed
+11
-1
No files matched your search
@@ -61,6 +61,12 @@ A reference is resolved only when a command asks for that one value, never when
|
||||
read, and the value stays in that process's memory. `doctor` reports whether each reference
|
||||
resolves, never what it resolves to.
|
||||
|
||||
One secret has no reference at all: the session `raw login` stores for a website behind a login.
|
||||
The user never types it, so nobody could put it into a secrets source by hand. `raw login` writes
|
||||
it into the secrets file itself, under a name derived from the host, and `raw fetch` finds it by
|
||||
that name. It never goes to 1Password, because it changes with every sign-in and the stack only
|
||||
ever reads from there. So it sits in the one source the 1Password safeguards below do not cover.
|
||||
|
||||
## What this does not protect against
|
||||
|
||||
Keeping secrets out of the tree protects against three things: a secret being committed, a
|
||||
@@ -81,6 +87,10 @@ What limits the exposure without preventing it:
|
||||
one that already was;
|
||||
- in CI, a service account that sees only that vault.
|
||||
|
||||
None of these covers a website session from `raw login`, which lives in the secrets file only.
|
||||
Whoever can read that file can use the website as the user, until the session expires or the user
|
||||
signs out there.
|
||||
|
||||
The rule in [AGENTS.md § Settings](../../AGENTS.md#settings) - a secret never passes through the
|
||||
agent - is an instruction, not a barrier. The tiers make following it the easy path. They do not
|
||||
make breaking it impossible.
|
||||
@@ -76,7 +76,7 @@ declares the tier it belongs to:
|
||||
|------|------|-------|
|
||||
| `instance` | `wikitool.json`, committed | What belongs to the corpus and is the same in every clone |
|
||||
| `checkout` | `.wikitool-local.json`, gitignored | What is true only for this clone on this machine |
|
||||
| `secret` | neither | Tokens and passwords - both files hold only a reference |
|
||||
| `secret` | neither | Tokens, passwords and website sessions - both files hold only a reference, and a session from `raw login` none ([below](#fetch-routes)) |
|
||||
|
||||
Each file is a JSON object of sections, one per feature, beside two keys of its own:
|
||||
|
||||
|
||||
Reference in new issue
Block a user