> ## Documentation Index
> Fetch the complete documentation index at: https://project-brain.rocheaiops.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Security and privacy

> Private access, provider data boundaries, and the unqualified backup confidentiality item.

<a href="/assets/visuals/deployment-security-boundary.svg" target="_blank" rel="noreferrer" aria-label="Open full-size diagram: Deployment security boundary"><img src="https://mintcdn.com/roche-ai-ops/zV65QLx2v4-e7KNO/assets/visuals/deployment-security-boundary.svg?fit=max&auto=format&n=zV65QLx2v4-e7KNO&q=85&s=ad13219938d7a842014086aeb45eec2d" alt="Deployment security boundary" noZoom width="1440" height="810" data-path="assets/visuals/deployment-security-boundary.svg" /><span className="sr-only">Open full-size diagram: Deployment security boundary</span></a>

* API/UI publishes only on host loopback (`127.0.0.1:18080`).
* PostgreSQL has no host-published port and stays on an internal Compose network.
* Administration uses the NetBird path and authenticated SSH; no public application ingress was added.
* Provider credentials are injected server-side only. The application secret file is mode `0600`; the scoped Doppler token is read-only for the production config.
* Basic Memory has independent containers, paths, configuration, ports, data, and backups. It is not canonical cognitive state.

Bounded text/chunks and Live interactions may be sent to Gemini for accepted provider work. Original application state, database credentials, and secrets do not go to the browser. BitLocker status for the off-host backup destination is unverified; do not describe backups as confidentiality-qualified for confidential material.
