Security and redaction¶
Antenna designs are often sensitive. APAB's defaults assume the conservative case: nothing leaves your machine unless you opt in, and what gets recorded is under your control.
Local-first defaults¶
The default provider is Ollama on localhost: prompts, tool results,
and design parameters stay local. Remote providers (OpenAI, Anthropic,
Gemini, OpenAI-compatible) are separate extras you install and
configure explicitly; nothing falls back to a hosted model silently.
Workspace-only filesystem access¶
Tools that write files are confined to the project workspace. Path
arguments are validated against traversal (.. components are
rejected, resolved paths must stay inside the workspace root), so a
misbehaving model cannot direct a tool to write outside the project.
Redaction modes¶
llm.redaction_mode controls what the audit log and (by inheritance)
trace attributes record:
| Mode | audit.json arguments | Result summaries | Span attributes |
|---|---|---|---|
none (local default) |
full values | truncated text | argument JSON + summaries |
metadata_only |
key names only | truncated text | key names + text lengths |
strict |
[REDACTED] |
[REDACTED] |
content hashes only |
Observability can diverge from the audit log via
observability.capture_mode: for example, full audit detail locally
while exported spans stay at strict. A sha256-derived argument hash
is always recorded, so identical calls remain correlatable even when
values are withheld.
Egress logging¶
Every LLM response is logged (at the configured redaction level) before
the orchestrator acts on it, and every tool call lands in audit.json.
With tracing enabled, the OTLP exporter is explicit configuration, an
endpoint you set rather than a default, and span content obeys the
capture mode above.
Practical guidance¶
- Working on sensitive designs with a remote provider: set
redaction_mode: strictand keepcapture_modeunset so spans inherit it. - Sharing run bundles: a bundle generated under
strictcontains tool names, hashes, durations, and statuses. That is enough to debug the workflow, and it exposes no geometry values. - Export control: pattern and link-budget outputs may fall under ITAR/ EAR depending on use; the README's disclaimer applies to anything the tools produce.