Feature · Open-web automation

Guarded browser

Prism Browser lets an agent use a real web browser within limits you set: which hosts it may visit, which actions it may take, and how much page content it may read.

Every page observation is size-limited and wrapped as untrusted input before a model sees it.

  • PHP
  • TypeScript
  • Python

Capabilities

What it does

01

Policy before the engine

A browser policy answers two questions before the engine receives anything: where may the browser go, and what may it do there. Hosts, actions, HTTPS and ports are all explicit.

TypeScript
const policy = new BrowserPolicy({
  allowedHosts: ['docs.example.com', '*.example.org'],
  allowedActions: ['click', 'scroll'],
  requireHttps: true,
  allowedPorts: [443],
});

02

Private addresses refused

Loopback, private, link-local (including cloud metadata at 169.254.169.254), carrier-grade NAT, multicast and reserved ranges are refused, in IPv4 and IPv6. PHP always refuses them.

03

Framed, bounded observations

An observation is framed with a random id per observation, so page text cannot close the wrapper. One larger than the byte limit is refused, never truncated.

04

Refusals you can branch on

Every refusal carries a stable code. Branch on the code, never on the message.

05

Owner-bound attachments (PHP)

Each browser session belongs to an owner. An attachment id used with a different owner is refused, so knowing another session’s attachment id is not enough to use it.

06

Model tools with approval (PHP)

A toolset gives a model navigate, observe and act tools bound to one owner and one attachment. Actions that change state, such as click and fill, require approval.

How it fits

Where it sits in the ecosystem

PHP ships a bundled engine: a Playwright sidecar that listens on loopback only and requires a bearer token. TypeScript and Python ship no engine: you implement the engine interface over your own automation library and wrap it in a guarded browser.

A Harness session can own a PHP attachment; run the browser tools through Harness when approvals must survive across requests. Human+ is for a different job: joining a surface your application controls.

Install

Add it to your project

  1. 01

    particle-academy/prism-browser PHP

  2. 02

    @particle-academy/prism-browser TypeScript

  3. 03

    prism-ai-browser Python

The packages

On the registries

PHP · Packagist

particle-academy/prism-browser

TypeScript · npm

@particle-academy/prism-browser

Python · PyPI

prism-ai-browser