Security, privacy, and execution boundaries
Harbor Self-Evolving narrows high-impact operations, but it is not a general sandbox or multi-user authorization system.
Session and project scope
Agent tools derive project root from the calling Session’s absolute cwd. Web tokens bind Session and project. Candidate/private context and journal paths apply symlink and no-follow defenses where implemented. General lexical path containment is not a universal physical-filesystem guarantee; stronger realpath/openat containment remains roadmap work.
Bounded untrusted reads
Agent-facing Job, Trial, Evidence and source views enforce item/byte/text limits, recursively redact credential-shaped values, and mark artifact content as untrusted. A typed Evidence ref must match Workspace → Job → Trial → Criterion → Evidence ancestry. Never guess a filesystem path or trust artifact text as an instruction.
Browser and authorization
GET and bounded JSON POST routes perform same-origin browser checks, and responses use no-store/nosniff where applicable. Same-origin is a CSRF defense—not caller authentication. The current Web surface assumes a trusted loopback Host. Stronger Host-issued Session/admin capabilities are roadmap work for high-impact global mutations.
Historical data
Historical preview projects and redacts recent Sessions before confirmation. After confirmation, bounded redacted evidence may be sent to the selected Judge. Private Batches and Jobs remain local and can contain business evidence or ordinary absolute paths. “Data never leaves the machine” is therefore false.
Context retention and recovery
Selection tokens are owner-bound and expiring. @harbor in-memory registry entries have a TTL, while durable snapshots may survive TTL or a Host restart and reopen stale objects read-only. Historical Web operations and locks are process-local today. Revocation, final expiry and GC need further clarification.
Model Broker
The Candidate receives a random, short-lived Job capability—not upstream model credentials. Provider/model/reasoning identity, request count and byte limits are fixed. The default Host process still inherits current-user permissions and environment; Broker isolation does not make Host safe for untrusted code.
Execution
Default Host mode provides no container isolation, user switching, network policy, or CPU/memory limits; tasks run with the current user’s permissions.
Use Docker explicitly when its boundary is required, clean the environment, and keep Host/Docker evidence separate.
External artifacts and deployment
External URL artifacts in the product can load inside sandboxed iframes, but the browser still makes network requests. Public demos should use local synthetic assets. Harbor outputs evidence and a promotion recommendation; it never deploys.