What this is
Phase 1 of ACF-SDK is complete. It delivers the full IPC wire protocol between
the Python SDK (PEP) and the Go sidecar (PDP) — binary frame encoding, HMAC-SHA256
authentication, and nonce-based replay protection.
We need real-world validation across operating systems before Phase 2 begins.
What Phase 1 covers
- Go sidecar: UDS listener (Linux/macOS) and Named Pipe listener (Windows via go-winio)
- Python SDK:
socket.AF_UNIX transport (Linux/macOS) and Win32 named pipe via ctypes (Windows)
- 54-byte binary frame: magic byte · version · nonce · HMAC-SHA256 · JSON payload
- Decisions returned:
ALLOW | SANITISE | BLOCK (hardcoded ALLOW in Phase 1 — pipeline wired in Phase 2)
Full details: docs/phase1.md
How to test
Prerequisites
- Go 1.22+
- Python 3.10+
- A 32-byte hex key:
python3 -c "import secrets; print(secrets.token_hex(32))"
1 — Start the sidecar
cd sidecar
export ACF_HMAC_KEY=<your-key> # Linux/macOS
# set ACF_HMAC_KEY=<your-key> # Windows cmd
# $env:ACF_HMAC_KEY="<your-key>" # Windows PowerShell
go run ./cmd/sidecar
2 — Run Go tests
3 — Run Python tests
cd sdk/python
pip install -e ".[dev]"
export ACF_HMAC_KEY=<your-key>
pytest -v
4 — End-to-end smoke test
With the sidecar running, in a second terminal:
import os, sys
sys.path.insert(0, "sdk/python")
os.environ["ACF_HMAC_KEY"] = "<your-key>"
from acf.firewall import Firewall
fw = Firewall()
result = fw.on_prompt("hello world")
print(result) # should print Decision.ALLOW
Platforms we need coverage on
| Platform |
Go tests |
Python tests |
E2E smoke |
Reported by |
| Linux (x86-64) |
|
|
|
|
| macOS (Apple Silicon) |
|
|
|
|
| macOS (Intel) |
|
|
|
|
| Windows 10/11 (x86-64) |
|
|
|
|
What to report if something breaks
Open a new issue with:
- OS name and version
- Go version (go version) and Python version (python3 --version)
- Full error output
- Which step failed (sidecar start / Go tests / Python tests / E2E)
Discussion
If anything in Phase 1 feels off — API shape, error messages, key loading UX,
platform behaviour — please discuss it in the comments below. Phase 2 (pipeline
stages) hasn't started yet, so this is the right time to raise concerns.
What this is
Phase 1 of ACF-SDK is complete. It delivers the full IPC wire protocol between
the Python SDK (PEP) and the Go sidecar (PDP) — binary frame encoding, HMAC-SHA256
authentication, and nonce-based replay protection.
We need real-world validation across operating systems before Phase 2 begins.
What Phase 1 covers
socket.AF_UNIXtransport (Linux/macOS) and Win32 named pipe via ctypes (Windows)ALLOW | SANITISE | BLOCK(hardcoded ALLOW in Phase 1 — pipeline wired in Phase 2)Full details: docs/phase1.md
How to test
Prerequisites
python3 -c "import secrets; print(secrets.token_hex(32))"1 — Start the sidecar
2 — Run Go tests
3 — Run Python tests
4 — End-to-end smoke test
With the sidecar running, in a second terminal:
Platforms we need coverage on
What to report if something breaks
Open a new issue with:
Discussion
If anything in Phase 1 feels off — API shape, error messages, key loading UX,
platform behaviour — please discuss it in the comments below. Phase 2 (pipeline
stages) hasn't started yet, so this is the right time to raise concerns.