Skip to content

Security FAQ.

The questions below are the ones we hear from security reviewers, IT directors, and practitioners. The answers are written to be forwardable. Each answer links back to the relevant section of the hub, the threat model, or the deployment modes page where a deeper explanation lives. If your question is not covered, email [email protected] and we will add it.

This page is structured in three parts: questions a CISO or security reviewer typically asks, questions a practitioner inside a deployed team typically asks, and a short guide to what to do if something about an agent's behavior looks wrong.

Last updated 2026-04-17.

Section 2

CISO and security-reviewer questions.

Twenty questions, in the order a vendor-risk workbook typically asks them. Each question is deep-linkable; click the question text to copy a permalink.

2.1 Are you SOC 2 certified?

No. Brainverse does not hold SOC 2, ISO 27001, or any formal security certification. The infrastructure Brainverse runs on (Anthropic for inference, GitHub for code, Railway for BrainSync) is certified. Our shared responsibility matrix shows which party is accountable for each control. We do not publish a Brainverse certification roadmap.

See the compliance posture section on the hub

2.2 What compliance certifications does Brainverse have?

None that are Brainverse-owned. Brainverse runs on certified infrastructure. Anthropic maintains SOC 2 Type II and ISO 27001. GitHub Enterprise maintains SOC 1/2 Type II, ISO 27001, and FedRAMP. Railway maintains SOC 2 Type II. Each provider publishes their current certifications at their own trust center; links are in our shared responsibility matrix. Brainverse's own posture is operational discipline layered on top of certified infrastructure, with a clear shared-responsibility allocation between Brainverse, your team, and the providers we run on.

2.3 Why are you not certified yourselves?

Brainverse is a small team. A certification program at our size would cost more than it would signal. Rather than pursue certifications we would have to stretch to afford and renew, we built on certified infrastructure, we published our architecture in plain language, and we gave you the shared-responsibility matrix so you can see exactly what each party is accountable for. If your procurement process requires a certified vendor for the party holding the data, the data itself lives on certified infrastructure you control (your GitHub organization, Anthropic under a direct or Bedrock relationship). If your procurement process requires a certified vendor for Brainverse specifically, we are not the right fit today.

2.4 Is Brainverse HIPAA compliant? Can you sign a BAA?

HIPAA BAAs are available case-by-case as a custom Enterprise addendum. We are not a productized HIPAA vendor. If you are a HIPAA-covered entity and your workflow requires a BAA, we can scope one with you as part of the Enterprise contract, and your deployment runs in Mode A or Mode B under your own BAA with the inference provider. If your workflow is not HIPAA-covered or does not touch PHI, no BAA is required. Mode C is not compatible with HIPAA-regulated workflows.

2.5 Is Brainverse GDPR compliant?

Brainverse operates as a data processor on behalf of the client, who is the data controller, for personal data processed through Brainverse services. For data subject rights requests (Articles 15-22), email [email protected] and we will respond within the required timeframe. If your workflow requires a formal Data Processing Addendum, talk to us as part of the Enterprise contract.

2.6 Do you train on our data?

Brainverse does not train, fine-tune, or aggregate on your data. Brainverse does not operate or train foundation models. Your prompts and outputs are not used to train Anthropic's foundation models; Anthropic's commercial API terms describe Anthropic's data-use policy, and for clients who want the strongest posture available we configure Zero Data Retention on the Anthropic endpoint (available directly from Anthropic or through Bedrock or Azure OpenAI). Training-data protection is a policy of the LLM provider you contract with (directly or through us), not a Brainverse-level guarantee for models we do not operate.

2.7 Where does our data live?

That depends on the deployment mode you select. Your source code and agent team always live in your GitHub organization. In Mode A (Local-only), everything else lives on the practitioner's laptop. In Mode B (Client-hosted), BrainSync memory and runtime live in your AWS, Azure, or GCP environment under your IAM. In Mode C (Brainverse-hosted), BrainSync lives on Brainverse-operated Railway infrastructure. In Mode D (Hybrid), runtime data lives at the runtime tier (local or your cloud) and only session metadata and audit events cross to Brainverse.

See the full deployment-mode matrix

2.8 Can we run this entirely on-premises?

Fully air-gapped deployment is not supported because inference requires network access to Anthropic, AWS Bedrock, or Azure OpenAI. Air-gapped-adjacent deployment is supported: the laptop or runtime talks only to a single endpoint on a private network, which then forwards to the inference provider. We provide a reference implementation using a client-hosted proxy that forwards only the inference call and blocks everything else.

See the strict-egress-policies section

2.9 Can we deploy in our own cloud?

Yes. Mode B (Client-hosted) is designed for clients with existing AWS, Azure, or GCP standardization. Your cloud, your IAM, your VPC, your egress policy. Brainverse operates inside the boundary you define; data does not traverse Brainverse-owned infrastructure. Terraform, Bicep, and Deployment Manager modules are in active development; for engagements that need them today, we deliver customized infrastructure-as-code during the engagement.

2.10 Does Brainverse support BYO LLM key?

Yes. You can bring your own Anthropic key (or Bedrock or Azure OpenAI routing) in any mode except the default configuration of Mode C. We verify Zero Data Retention configuration on your workspace before go-live and record the verification in the engagement's security evidence folder.

2.11 What is your incident response process?

For confirmed security incidents affecting client data, Brainverse targets notification within 72 hours of our confirmation, consistent with the processor-to-controller expectation in GDPR Article 33. Notification is sent by email to the designated security contact. For incidents where the impact is indeterminate, we provide a status update within the same window and continue to update until the impact is resolved. Contractual incident-response SLAs (specific acknowledgment, initial-analysis, and root-cause time commitments) are available at Enterprise tier and are negotiated per engagement. Foundation and Team tiers operate on best-effort incident response.

2.12 How do we audit what agents did?

We log session-level metadata: who dispatched the agent, when, which agents ran, token usage, cost, and outcome. Tool-by-tool call records live in the Claude Code local JSONL transcript on the machine where the agent ran, which is exportable but not automatically shipped to the server. In Mode B and Mode C you can query the BrainSync session history via the REST API. In Mode A, session history is in the local .brainsync-sessions.json plus the JSONL transcript. Memory changes are version-tracked by content hash.

2.13 How do I revoke Brainverse's access?

Four independent revocation paths. Revoke the GitHub PAT (or remove the user from the organization). Revoke the Anthropic API key in the console. Revoke the BrainSync bearer token on the BrainSync server. Revoke the MCP OAuth grants in your Google Workspace admin or GoHighLevel admin console. Any one of the four stops the corresponding agent capability. Each revocation takes under 30 seconds on the relevant provider's admin console and does not require Brainverse cooperation.

2.14 What does Brainverse do about prompt injection?

Five PreToolUse hooks block credential writes, destructive bash, memory corruption, config weakening, and outbound credential exfiltration via covered MCP integrations. Four of the hooks are designed so that a crash in the hook itself blocks the operation rather than allowing it. Memory entries being pushed to the database are scanned for prompt-injection patterns at push time. Data-interpretation prompting within an agent's authorized scope is a mitigation, not a boundary; scope-minimization of agent inputs is the first design principle.

2.15 What happens if you are acquired?

Your deployment is your property. The agents, the customization, the memory, and the repo are yours. Our agreement includes a change-of-control provision: if Brainverse is acquired, you receive written notice, continuity of service under existing terms for a minimum window, the right to terminate for convenience with a pro-rata refund, and because your team is running in your repo on your infrastructure, you keep operating either way. Specific windows and refund terms are in the applicable Order Form.

2.16 What if Brainverse shuts down?

Your deployment keeps running. Agents live in your repository on your infrastructure; a Brainverse shutdown does not shut off your agents. For the managed tier where we host, a wind-down clause in the Enterprise Order Form grants you ownership of the deployment and a defined period of operational runbook access. You are not bankrupt-locked-in.

2.17 Can a non-admin employee access admin data through an agent?

No, by design. Agents inherit the calling user's permissions via per-user OAuth on integrations that support it (Gmail, Google Drive, Google Calendar), and per-installation tokens scoped to the minimum privileges on integrations that do not. No agent shares a service account that grants broader scope than the user's own credentials. An agent acting on behalf of a non-admin cannot read what that non-admin cannot read in the underlying system (Google Workspace, your database, your CRM). Tool-call boundaries are checked against the user's scope on every call, not once at agent startup.

2.18 What controls do you actually enforce yourself?

At the tool-call layer, a chain of PreToolUse hooks blocks credential writes, destructive bash commands, weakening of the linter or formatter or settings configuration, and the --no-verify escape on git commits. Four of these hooks are designed so that a crash in the hook itself blocks the operation rather than allowing it. The hooks share no code with the BrainSync memory layer, which means a refactor on the memory side cannot regress the security side. The hook chain order is declarative in .claude/settings.json; an auditor can read the settings file and predict the security behavior without running any code.

2.19 What is the blast radius if a Brainverse credential is compromised?

Scoped by design. A compromised Brainverse staff laptop reaches only the clients that staff member was provisioned for, and only the credentials that staff member holds. There is no Brainverse-wide master key. A compromised GitHub personal access token reaches only the repositories the token was scoped to; the token cannot clone repositories it was not explicitly granted. A compromised Anthropic API key reaches only inference on that key's account. A compromised BrainSync bearer token reaches only memory entries in the project the token was issued for; cross-project reads are rejected at the Postgres row-level. A compromised MCP OAuth grant (Gmail, Drive, Google Calendar) reaches only the user's own Workspace, scoped to the minimum permissions requested. Every compromise scenario ends at a boundary enforced by the underlying provider, not by Brainverse policy.

2.20 How does your three-layer isolation model work?

Three independent mechanisms, each enforced by a different system, each failing closed on its own. Layer 1 (GitHub repo RBAC): a personal access token that is not a member of the client's GitHub organization cannot clone the repo; GitHub's auth layer returns 404 before any Brainverse code runs. Layer 2 (Filesystem with per-client submodules): an agent attempting to read a submodule its token was not granted hits ENOENT on the filesystem, not a policy check. Layer 3 (Postgres Row-Level Security on BrainSync, optional): memory entries carry project_id and agent_id; every query routes through a Postgres role that is RLS-scoped to the bearer token's project. If one layer fails, the other two still hold; none of the three depend on an agent's cooperation.

See the three-layer isolation section on the hub

2.21 Can different teams in our org have different agent visibility — for example, a workspace some engineers cannot read into?

Yes, with the boundary enforced by your GitHub organization's RBAC and your BrainSync project tokens. The pattern is one shared agent-definitions repo (granted to whatever audience your org chooses) plus per-team scoped repos with their own GitHub team ACLs. Each scoped repo includes the shared roster as a git submodule, so the sub-team runs the same agent set against their own data without a fork. Users without team membership and without inherited org-admin scope receive a 404 from GitHub on clone — by Layer 1, before any Brainverse code runs. BrainSync partitions memory and dashboards by project_id at the Postgres row level (Layer 3); a query authenticated under one project's bearer token does not return rows tagged with a different project's ID.

This pattern is a configuration of GitHub RBAC plus BrainSync project partitioning. It does not, on its own, qualify a deployment for HIPAA-regulated PHI, MNPI workflows, or jurisdiction-regulated personnel data — those require the engagement-level deployment-mode and contract scoping covered on the deployment-modes page.

What this is: workspace-level scoping enforced by your GitHub RBAC plus BrainSync project partitioning. What it is not: data-classification policy, attribute-based access control on the data itself, or an exception to the Brainverse-staff engagement-level access disclosed in the honest-limits table. Full mechanism, customer-side responsibilities, and regulatory carve-out are on the deployment-modes page.

See the scoped sub-teams section on the deployment-modes page
Section 3

Practitioner questions.

The questions a person actually using a deployed team tends to ask. Answers are written to be read directly by the practitioner, not forwarded to a security reviewer.

3.1 Can my manager see my private notes?

It depends on the repository and mode. Memory files (.claude/agents/memory/*.md) are part of the git repository; anyone with read access to the repository can read them. A memory file that accumulates across your sessions is visible to your teammates on the same engagement if they also have repo access. If you want a private working surface, use a scratch file in .claude/tmp/ (gitignored by default) and delete it when you are done; the scratch files are not committed.

In Mode A (Local-only), memory also lives on your laptop. Your manager cannot read it from their own laptop because the file is not shared.

In Mode B (Client-hosted) and Mode C (Brainverse-hosted) with BrainSync enabled, memory also lives in Postgres. Anyone with the bearer token for the project can query memory via the API. If your team shares one project, everyone on that project can query across agents.

3.2 Can Brainverse staff read what I typed?

Prompts are not retained server-side by default. In Mode C (Brainverse-hosted), prompts pass through to Anthropic and are subject to Anthropic's Zero Data Retention configuration, which is enabled by default. Brainverse's session table stores session metadata (agent, user, timestamps, token usage, cost, outcome), not prompt content. In Mode A and Mode B, prompts never leave your laptop or your cloud at all; only the inference call itself reaches Anthropic.

For support engagements where Brainverse staff access your environment to investigate a problem, access is per-incident, time-boxed, and logged in the underlying provider's audit trail (GitHub, Railway, your cloud). The standing-access posture is described in the honest limits section on the hub.

See the honest limits section on the hub

3.3 Can my coworker see what I asked?

In the same project with BrainSync enabled, yes: cross-agent memory search is a deliberate design choice for team learning. Your coworker can run a search against the same project and see entries written by any agent in that project. The entry carries the agent-source tag so provenance is clear.

If you need isolation within a project, the design recommendation is two projects with distinct bearer tokens rather than trying to hide memory within one project. For full scoping across sub-teams within one organization — separate repos with their own GitHub team ACLs sharing one agent-definitions submodule, plus separate BrainSync projects — see FAQ 2.21 on scoped sub-teams.

See FAQ 2.21 on scoped sub-teams

3.4 What does the agent know about me?

Whatever you or your teammates have captured in memory entries, plus whatever it can read from files you have given the tool access to, plus the contents of the current session. Memory entries are markdown; you can read your own agent's memory file at .claude/agents/memory/{agent-name}.md and see everything that agent is told about you at session start.

3.5 Can I delete something the agent learned about me?

Yes. Memory entries are git-tracked markdown files in Mode A and Mode B. Edit the file, commit, and the entry is gone on the next session. In Mode C (BrainSync Postgres), use the BrainSync dashboard to remove the entry, or submit a data-subject request to [email protected] if your data is personal data under GDPR.

Section 4

Unusual behavior: how to spot it, how to respond.

Nothing about this section should make you anxious. It is here because the sensible thing to do with any new tool is to know, up front, how to respond if something looks off. The guide below is non-scary. It names the kinds of unusual behavior worth noting, the one email address to use, and the posture we take on questions that turn out to be false alarms.

4.1 What counts as unusual behavior

  • An agent asks for a credential you did not expect it to need, or produces output that quotes a credential you did not paste.
  • An agent's tool call fails with a message referencing .claude/tmp/hook-crash.log, secret-check, memory-write-guard, config-protection, no-verify-block, or mcp-send-guard. These messages mean a security hook blocked something. That is the hook doing its job; note it and keep working, and if the block does not match what you expected the agent to do, flag it.
  • An outbound email, social post, or CRM message arrives in your own inbox that you did not trigger and do not recognize.
  • An agent's output references a file you are certain you did not grant it access to.
  • An agent's memory entry surfaces across sessions that you did not add and that implies instructions you did not give.

4.2 What to do

Email [email protected] with the date, the approximate time, the agent you were running, and a short description of what looked wrong. If you have the session ID from the BrainSync dashboard or the Claude Code transcript, include it. If you would rather call, write "please call" in the body and the named owner of the inbox will reach out.

If the behavior looks urgent (an outbound message already sent, a credential appears to have leaked), revoke the relevant credential from the provider's own admin console while you write the email. The four independent revocation paths described in the CISO FAQ above (GitHub PAT, Anthropic key, BrainSync bearer, MCP OAuth) all stop the corresponding agent capability within seconds. You do not need Brainverse's cooperation to revoke.

4.3 What happens next

Acknowledgment within 5 business days for general inquiries. For confirmed incidents affecting client data, target notification within 72 hours of our confirmation of impact, per the commitment on the hub. We investigate every report in good faith. Reports that turn out to be false alarms are treated the same as confirmed incidents from a process perspective; the goal is to make it easy to flag anything unusual without worrying about whether the report will "waste our time." It will not.

4.4 What we will not do

We will not ask you for credentials over email. We will not ask you to run an unfamiliar script as part of an incident investigation. We will not pressure you to reproduce the behavior on a production dataset. If anyone claiming to be from Brainverse asks for any of these, do not comply and email [email protected] with a description of the request.

Primary contact

For anything on this page, or anything on any other Brainverse page that reads as a security question, use:

[email protected]