Problem
The local NATS server running on mack (port 4222) has no authentication configured. Any process with network access to the machine can publish/subscribe to all subjects including swarm.events, AGENT_EVENTS, and heartbeat subjects.
Current state
homebrew.mxcl.nats-server plist starts NATS with JetStream enabled but no auth
memu/gateway_federation.py connects to nats://localhost:4222 — no credentials
openclaw_hostd connects to nats://localhost:4222 — no credentials
Desired state
- NATS server configured with NKey-based auth
fumemory/.env updated with NATS_LOCAL_CREDS or NATS_LOCAL_NKEY
- All local clients (memu, hostd, gateway_federation) updated to pass credentials
- launchd plist for NATS updated with config file path
Why NKey
NKeys are Ed25519 keypairs — self-signed, no PKI needed, standard NATS security primitive. Appropriate for a single-host setup before federation hardening.
Acceptance criteria
Context
This is a local-host-only gap (NATS is not exposed externally). Low urgency but required for production hardening of the mack memory stack.
Problem
The local NATS server running on mack (port 4222) has no authentication configured. Any process with network access to the machine can publish/subscribe to all subjects including
swarm.events,AGENT_EVENTS, and heartbeat subjects.Current state
homebrew.mxcl.nats-serverplist starts NATS with JetStream enabled but no authmemu/gateway_federation.pyconnects tonats://localhost:4222— no credentialsopenclaw_hostdconnects tonats://localhost:4222— no credentialsDesired state
fumemory/.envupdated withNATS_LOCAL_CREDSorNATS_LOCAL_NKEYWhy NKey
NKeys are Ed25519 keypairs — self-signed, no PKI needed, standard NATS security primitive. Appropriate for a single-host setup before federation hardening.
Acceptance criteria
memu/gateway_federation.pyauthenticates successfullyopenclaw_hostdauthenticates successfullylocalhost:8000/health) still responds after config changeContext
This is a local-host-only gap (NATS is not exposed externally). Low urgency but required for production hardening of the mack memory stack.