aquaman-proxy 0.11.5 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,66 +1,46 @@
1
1
  # aquaman-proxy
2
2
 
3
- The proxy daemon and CLI for [aquaman](https://github.com/tech4242/aquaman) API key protection for OpenClaw. Credentials stay in your vault, never in the agent's memory.
3
+ The vault + daemon + audit core of [aquaman](https://github.com/tech4242/aquaman). API key protection for AI agents — credentials stay in your vault, never in the agent's memory.
4
+
5
+ This is the **always-on piece**: every other aquaman package (`aquaman-plugin` for OpenClaw, `aquaman-coder` for AI coding agents) talks to it. If you only install one aquaman package, install this one.
4
6
 
5
7
  ```
6
- Agent / OpenClaw Gateway Aquaman Proxy
7
- ┌──────────────────────┐ ┌──────────────────────┐
8
- │ │ │ │
9
- │ ANTHROPIC_BASE_URL │══ Unix ═════>│ Keychain / 1Pass / │
10
- │ = aquaman.local │ Domain │ Vault / Encrypted │
11
- │<═ Socket ════│
12
- │ fetch() interceptor │══ (UDS) ════>│ + Policy enforced │
13
- │ redirects channel │ │ + Auth injected: │
14
- │ API traffic │ │ header / url-path │
15
- │ │ │ basic / oauth │
16
- │ │
17
- │ No credentials. ~/.aquaman/ │ │
18
- No open ports. proxy.sock │ │
19
- │ Nothing to steal. │ (chmod 600) │ │
20
- └──────────────────────┘ └───┬──────────┬───────┘
21
-
22
-
23
- ~/.aquaman/audit/
24
- │ (hash-chained log)
25
-
26
- api.anthropic.com
27
- api.mistral.ai
28
- api.telegram.org
29
- slack.com/api ...
8
+ Agent / OpenClaw / Coding Agent Aquaman Proxy
9
+ ┌──────────────────────┐ ┌──────────────────────┐
10
+ │ │ │ │
11
+ │ ANTHROPIC_BASE_URL │═══════ UDS ════════>│ Keychain / 1Pass / │
12
+ │ = aquaman.local │ │ Vault / Encrypted │
13
+ │<══════════════════ │
14
+ │ fetch() interceptor │═══ broker:resolve ═>│ + Policy enforced │
15
+ │ redirects channel │ │ + Auth injected: │
16
+ │ API traffic │ │ header / url-path │
17
+ │ │ ~/.aquaman/ │ basic / oauth │
18
+ No credentials. proxy.sock │ │
19
+ │ No open ports. (chmod 0o600) │ │
20
+ Nothing to steal. │ │
21
+ └──────────────────────┘ └───┬──────────┬───────┘
22
+ │ │
23
+
24
+ ~/.aquaman/audit/
25
+ (hash-chained log)
26
+
27
+ api.anthropic.com
28
+ api.mistral.ai
29
+ api.telegram.org
30
+ slack.com/api
30
31
  ```
31
32
 
32
- This package is the right side — a reverse proxy on a Unix domain socket that stores credentials in secure backends, enforces request policies, injects auth headers, and logs every access. The agent never sees a key.
33
-
34
- ## Quick Start
33
+ ## Install
35
34
 
36
35
  ```bash
37
- npm install -g aquaman-proxy # 1. install the proxy CLI
38
- aquaman setup # 2. store your API keys, install plugin
39
- openclaw # 3. done proxy starts automatically
36
+ npm install -g aquaman-proxy
37
+ aquaman setup # backend wizard + store keys
38
+ aquaman daemon & # start the proxy on ~/.aquaman/proxy.sock
40
39
  ```
41
40
 
42
- > **Installed via ClawHub?** The proxy is already bundled with the plugin.
43
- > Run `openclaw aquaman setup` to store your keys.
44
-
45
- Troubleshooting: `aquaman doctor`
46
-
47
41
  ## CLI
48
42
 
49
- | Command | Description |
50
- |---------|-------------|
51
- | `aquaman setup` | Guided onboarding (stores keys, installs plugin, applies policy defaults) |
52
- | `aquaman doctor` | Diagnose issues with actionable fixes |
53
- | `aquaman credentials add <svc> <key>` | Store a credential |
54
- | `aquaman credentials list` | List stored credentials |
55
- | `aquaman migrate openclaw --auto` | Migrate plaintext secrets to secure store |
56
- | `aquaman daemon` | Run proxy in foreground |
57
- | `aquaman start` | Start proxy + launch OpenClaw |
58
- | `aquaman stop` | Stop running proxy |
59
- | `aquaman status` | Show config and proxy status |
60
- | `aquaman policy list` | List configured policy rules |
61
- | `aquaman policy test <svc> <method> <path>` | Dry-run a request against policy rules |
62
- | `aquaman audit tail` | Recent audit entries |
63
- | `aquaman audit verify` | Verify hash chain integrity |
43
+ `aquaman help`, `aquaman doctor` are your friends.
64
44
 
65
45
  ## 25 Builtin Services
66
46
 
@@ -75,18 +55,31 @@ Troubleshooting: `aquaman doctor`
75
55
 
76
56
  ## Security
77
57
 
78
- The proxy enforces four layers of protection:
58
+ Four layers of protection:
79
59
 
80
- - **Process isolation** — credentials in a separate address space, connected via UDS (`chmod 600`)
60
+ - **Process isolation** — credentials in a separate address space, connected via UDS (`chmod 0o600`)
81
61
  - **Service allowlisting** — `proxiedServices` controls which APIs the agent can reach
82
- - **Request policies** — method + path rules per service, checked *before* credential injection ([details](https://github.com/tech4242/aquaman#request-policies))
62
+ - **Request policies** — method + path rules per service, checked *before* credential injection ([details in the root README](https://github.com/tech4242/aquaman#request-policies))
83
63
  - **Audit trail** — SHA-256 hash-chained logs of every credential use
84
64
 
85
- 7 credential backends: Keychain, 1Password, Vault, Bitwarden, KeePassXC, systemd-creds, encrypted-file.
65
+ 7 credential backends: Keychain, 1Password, HashiCorp Vault, Bitwarden, KeePassXC, systemd-creds, encrypted-file.
66
+
67
+ ## Broker endpoint (v0.12.0+)
68
+
69
+ `POST /broker/resolve` over the UDS — used by `aquaman-coder` to materialize credentials per tool call. Body:
70
+
71
+ ```json
72
+ {"service":"anthropic","key":"api_key","ttl_seconds":60}
73
+ ```
74
+
75
+ Response: `{"value":"...","expires_at":"2026-05-20T12:34:56Z"}`. Validates service/key names against safe regexes; 4 KB body cap; policy is applied before resolution.
86
76
 
87
77
  ## Documentation
88
78
 
89
- See the [main README](https://github.com/tech4242/aquaman#readme) for the full security model, request policy config, Docker deployment, and architecture diagrams.
79
+ - **[Root README](https://github.com/tech4242/aquaman#readme)** value prop, three-path Quick Start, security model
80
+ - **[`docs/PACKAGES.md`](../../docs/PACKAGES.md)** — package boundary policy
81
+ - **[`docs/compliance/`](../../docs/compliance/)** — MITRE ATLAS + NIST SP 800-53 mappings
82
+ - **[`CLAUDE.md`](../../CLAUDE.md)** — architecture notes
90
83
 
91
84
  ## License
92
85