Security best practices
Operational practices for teams integrating browxai. Each practice carries its rationale inline; the full analysis lives in the threat model.
Install
Section titled “Install”npm install browxai --ignore-scripts- browxai has no install-time scripts; the flag enforces it as defense in depth.- Pin exact versions in
package.jsonfor high-assurance deployments ("browxai": "1.2.3", not^1.2.3). - Commit your lockfile. Use
npm ciorpnpm install --frozen-lockfilein CI; never looseinstall.
Verify
Section titled “Verify”- After install:
npm audit signaturesverifies the published provenance. - Watch GitHub Security Advisories on
kalebteccom/browxai. - The
browxai doctorsubcommand verifies the localdist/matches the attested build (lands in v1.0).
Capability posture
Section titled “Capability posture”browxai ships off-by-default for posture-broadening capabilities (eval, byob-attach, extensions, device-emulation, secrets, network-body, file-io). Enabling any of these is opt-in to a broader risk surface. Read docs/threat-model.md before enabling a capability.
The capability gate documents what a tool is allowed to reach. It does not contain a tool that has reached it.
Plugin trust
Section titled “Plugin trust”Plugins are in-process JS modules with full Node access. Treat plugin adoption like a dependency review:
- Prefer
@browxai/*first-party plugins (and the barebrowxaihost package). - For third-party plugins, check the registry trust tier.
- Read
docs/plugin-governance.mdfor the trust tier policy.
CI hygiene for adopter pipelines
Section titled “CI hygiene for adopter pipelines”If you integrate browxai into your own CI:
- Pin every GitHub Action by full SHA.
- Use
permissions: {}at workflow level; elevate per-job only. - Avoid third-party GitHub Apps that require org-wide write access.
- Use
npm ci --ignore-scriptsin CI as a baseline.