Architecture
Documentation Map
-
Architecture
-
Channel:
stable -
Source repo:
JaddaHelpifyr/jhf-keystore
Architecture
Access model
This repository carries the canonical access-model documentation in ACCESS_MODEL.md (docs/ACCESS_MODEL.md) and the checked-in contract files under ../contracts (contracts).
The access model is deliberately business-readable and repository-readable at the same time:
jhf-heddleis the future SSO and claim sourcejhf-fabricis the policy and entitlement truth sourcejhf-deploymentmaterializes Vaultwarden statejhf-keystoreremains the local consumer and verifier
The repo itself does not create users, groups, or collections. It only documents and consumes the projection that other repos or operators materialize.
Zielbild
Vaultwarden Host
-> menschlicher Zugriff uber Browser / Cloudflare
-> Organization: Helpifyr KeyStore
-> Shared-Collections + Agent-Collections
OpenClaw Host
-> lokaler bw Login oder lokales bw serve
-> jhf-keystore Skill
-> OpenClaw exec SecretRefs
Write path
-> Agent Request
-> n8n Policy Checks
-> Human Approval
-> Vaultwarden Update
Read Path
- OpenClaw fordert ein Secret uber
source: execan. scripts/run.sh resolve ...ruft die Python-CLI auf.- Die CLI nutzt standardmassig
bw get item .... - Optional kann
VW_PROVIDER=servegesetzt werden. - In
serve-Mode wird nur eine lokale URL akzeptiert. - Das Secret wird nur fur den jeweiligen Agent-Kontext aufgelost.
Write Path
- Ein Agent oder ein System beantragt eine Anderung.
- n8n validiert Agent-ID, Item-Namen, Ziel-Collection und Operationstyp.
- Human Approval entscheidet
approveoderdeny. - Erst danach erfolgt der technische Write nach Vaultwarden.
- Audit-Daten werden ausserhalb des Repositories dokumentiert.
Collection-Modell
Empfohlen wird:
shared/providersshared/infrastructure-readonly- genau eine Collection
agents/<agent-id>pro Agent
Das ist absichtlich nicht dasselbe wie "ein grosser gemeinsamer Vault fur alle", weil dadurch Least Privilege erhalten bleibt.
Warum exec fur OpenClaw?
- keine offene Read-API fur Agents notig
- keine Secret-Werte in
.env - besser pro Agent trennbar
- lokal besser auditierbar
- sauberer Migrationspfad von
.envzu per-Agent-Secrets