Find out what your web app trusts.
Refract is a Chromium browser for security researchers and developers. Hold any request your app builds and rewrite it before it reaches the network, or hold the server's response and change it before the page sees it. Open the React component tree and change props, hooks, and store state while the page runs. Then see what the server accepts and what the UI exposes.
Coming soon · macOS Apple Silicon
See what it doesFree: browser, interception, and state editing · Licensed: the BYOK agent
Rewrite traffic in both directions.
Arm interception for everything, or only for URLs that match a rule. When the page sends a fetch, an XHR, a navigation, or a beacon, Refract holds it inside the browser before it reaches the network. Change the method, URL, headers, or JSON body, then release it or drop it. The request still carries the page's own cookies and session, because it never left the browser.
Responses work the same way in reverse. Hold what the server sends back, change the status code, headers, or body, and release it to the page. Flip "isAdmin": false to true in an API response and see what the client does with it.

Pick a rule or catch everything. The request stops after the page builds it.
Change the method, URL, headers, or body. The inspector shows exactly what will go out.
Send your version, or kill the request and see how the page handles it.
Hold the server's answer and change its status, headers, or body before the page reads it.
Edit React state in the running page.
Open the State panel on any React app and walk its component tree. Select a component to read its props, hooks, class state, and context. Change a value and the page re-renders with it. Refract also finds the app's Redux, Zustand, and TanStack Query stores, so you can edit store state, dispatch a Redux action, or rewrite cached query data.
Set role to admin and see which screens appear. Push a value past the form's validation and check whether the server catches it. If the UI is the only thing enforcing a rule, you'll find out here.
Tree, search, and highlight in page. Props, hooks, class state, and context for each one.
Redux and Redux Toolkit with dispatch, Zustand with its devtools middleware, and the TanStack Query cache.
Refract reads props and hooks in production builds but edits them only in development builds. The panel tells you which you're looking at.
An AI agent that asks before every action.
Add an Anthropic or OpenAI API key and describe the test you want to run. The agent reads the tab, the network log, held requests, and the page's React and store state. When it wants to navigate, click, type, add an intercept rule, edit state, or change a held request, it shows you the exact proposal and waits for Allow. No approval carries over to the next step.
Refract encrypts your key in the local macOS profile and sends it only to your provider. Cookie and authorization values are redacted before the model sees them. There's no Refract-hosted model and no bundled usage credit.
Set up the agent

It sees what a proxy can't.
A proxy sees traffic after it leaves the browser, and it needs a trusted certificate authority to read it. Refract works inside Chromium. It holds the request the page built, with the page's own session, and it reads the application state that produced that request. There's no proxy to configure and no certificate to install.
What Refract doesn't do.
- No MITM
- Refract doesn't break TLS. There's no certificate authority to install and no proxy.
- No scanner
- No payload packs, fuzzer, or exploit library. Refract works with the requests your app builds. It doesn't generate attacks.
- No stealth
- A held request keeps its page waiting, and the attached debugger changes timing. A watchful target can notice.
- Memory only
- The network log and held requests live in memory. Quitting clears them.
Refract is coming to Apple Silicon Macs.
The browser, request interception, and state editing will be free. The AI agent needs a license and your own API key.
