One custom secret from the keychain to the receiver
Five lifelines: the sbx CLI, the secret store, the sandbox m101-secret, the forward proxy on gateway.docker.internal:3128, and the receiver on 127.0.0.1:18080. The CLI stores M101_RECV_KEY for host.docker.internal and localhost and gets the placeholder sbx-cs-<rand>, which the new sandbox carries in its environment. curl inside sends the placeholder as a Bearer token to host.docker.internal:18080. The proxy reads the stored value and forwards the request to localhost:18080 with the real value, and the receiver answers 204. A direct connection to gateway.docker.internal:18080 bypasses the forward proxy and is blocked by the transparent proxy with no swap. Removing the secret updates running sandboxes at once.
sbx CLI
secret store
m101-secret
proxy :3128
receiver
1
set-custom --env M101_RECV_KEY
hosts host.docker.internal, localhost
2
placeholder sbx-cs-<rand>
3
create m101-secret
M101_RECV_KEY=sbx-cs-<rand> inside
4
GET host.docker.internal:18080/from-variable
Authorization: Bearer sbx-cs-<rand>
5
value for the bound host
6
m101-dummy-receiver-0000
7
forward, Host: localhost:18080
Bearer m101-dummy-receiver-0000
8
204
9
direct to gateway.docker.internal:18080
NO_PROXY, transparent proxy: blocked, no swap
10
secret rm --placeholder sbx-cs-<rand>
Applied secret updates for running sandboxes