Privacy policy

RequestFox is a developer tool for Chrome and Firefox that watches and tests API traffic during manual QA. It does not collect, transmit, or sell any data. It has no server of its own, no analytics, no telemetry and no account.

1. What RequestFox stores

Everything it captures (network requests and responses, console messages, WebSocket frames, optional screenshots) and everything you save (settings, collections, environments, sessions, saved WebSocket messages) lives only in your browser's own local storage and IndexedDB, on your own machine. If you choose Link a folder… (Chrome), your saved requests, environments, suites, checks and rules are also written as files to the folder you pick, and kept up to date there. Passwords, tokens and keys RequestFox recognises are written as {{placeholders}}, not their values. You can delete any session, or all of them, at any time from the extension. Authorization headers, cookies and fields that look like secrets are redacted by default in everything RequestFox keeps, shows in its log or exports; only Compose shows the answer to your own request as it came, and does not keep it in the log. Compose's Recent list keeps your last 100 Compose and saved-request sends with their answers on this device (in the browser's IndexedDB), redacted the way the log is (a typed Auth token, password or key is never kept there), until you press Clear under Recent. An answer you keep with Save as example stays on that saved request as it came, apart from cookies and Authorization headers, on this device only; the copies you share (Export workspace or Export to Postman without credentials, and a linked folder) replace values that look like secrets with {{placeholders}}. The answers the "Same answer as last time" check keeps are stored on this device with tokens, keys and session ids replaced by «scrubbed» before they are written. The unredacted copy needed to replay a request is kept only in memory and the browser's session storage, which is never written to disk, is readable only by the extension, and is cleared when the browser closes. If you turn on the cookie jar for a site (Settings, Cookie jar), the cookies that site sets in answers to the requests RequestFox sends itself, and any you add by hand or import from the browser, are kept on this device: those with an expiry in the browser's local storage until they expire or you clear them, session cookies only in the browser's session storage, which is never written to disk and is cleared when the browser closes. Their values never go into an export, a linked folder, code, History, Recent, a report or the log; Clear the jar deletes them all. While Slow down the whole tab (Chrome) is on, the tab's id and title and the speed you picked are kept in the browser's session storage, and removed when it goes off. MCP control keeps only whether it is switched on and the port you typed; its session key lives only in the panel's memory, and the list of MCP actions is kept in the browser's session storage, which is never written to disk, until the browser closes.

2. Requests you send

RequestFox sends a network request only when you ask it to. Compose & Send, Replay and test suites send the request you built or captured to the URL in it, with the headers and body you set. With nothing recording, Compose & Send, a saved request's Send and the steps of a test suite you run go from the extension itself, to the same URL and without any page's cookies; the browser first asks you to allow those sites, unless you already did. If you turn on the cookie jar for a site, those requests to that site also carry the cookies the jar holds for it, and the cookies its answers set go into the jar; the browser's own cookies are still neither sent nor changed. If you configure an OAuth 2.0 profile, the browser's sign-in window opens at the provider's authorization URL, and the token exchange goes to the token URL you entered. "Fill from issuer" reads the OpenID Connect discovery document (/.well-known/openid-configuration) from the issuer address you entered. Import from a URL reads the OpenAPI, collection or WSDL file at the address you type, without cookies, and the schema files a WSDL links to; for a file on another site the browser asks you first. The MCP server tester sends the requests you pick (list tools, call one, read a resource) to the server address you type; a server's request for a model completion is declined. MCP control, off until you turn it on (Settings, Mocks, rules & checks, MCP control), connects the panel to the RequestFox MCP server (requestfox-mcp) that you start yourself on this computer, at http://127.0.0.1 on the port you type, after you type the one-time pairing code it prints; it reaches nothing else. An AI agent you run can then ask RequestFox, through that server, to start or stop recording, read or clear the calls in the log, replay one, send a request from the extension (without any page's cookies or the cookie jar's) wherever your site access reaches, which after Start Recording is every site and after Connect every port on 127.0.0.1, add, change or delete mock and fail rules, switch rule profiles and mock sets on or off, run saved requests and test suites, delete a saved collection, export a HAR file, a report or the API docs, or slow down a tab once you have allowed the debugger permission yourself. Each action is listed in the panel under MCP actions. What goes back to the agent is redacted the way exports are, and it never gets the cookie jar, the vault, secret variables or OAuth tokens. A request the agent writes itself gets no {{variables}} filled in, so no secret variable or OAuth token can be sent where it asks; a saved request or suite it runs goes to its own saved address, as its Send does. RequestFox waits for your click before it deletes or clears anything, before it changes a rule you made, before every request the agent writes or replays (it shows you the address), and before a saved request or suite whose method changes data; a request to the server's own port is refused. The link itself sends nothing off this computer; what the agent does with the answers is up to that agent. In plain words: with MCP control on, what RequestFox observes is handed, redacted, to the program you paired on this computer, which may send it elsewhere. The link ends when you press Disconnect, close the panel or quit the browser, and after 8 hours at most. The WebSocket client connects to the address you type; in Socket.IO mode it sends the auth payload you entered to that server. A GraphQL subscription in Compose opens the browser's WebSocket to the endpoint you typed, with the request's headers and auth in its first message. If the page you test cannot reach an API on another origin, Compose can send the request from the extension instead, after you click "Send from the extension instead"; it goes to the same URL, without the page's cookies. After you choose a site this way, your later Compose sends and test-suite steps to that site also go from the extension until the browser closes, and Replay of a request sent this way goes the same way. A GET, HEAD or OPTIONS Replay that the page's CORS rules block is sent again from the extension by itself, the same way; any other method offers "Replay from the extension" first. The "Security probe (OPTIONS)" action asks you to confirm first, then sends one OPTIONS request to that request's own address. "Open GitHub issue" and "Open Linear issue" open your GitHub or Linear page in a new tab with the issue text in the link. None of these go to RequestFox or to anyone it works with, because there is no such party. They go to the servers you named, which see them as they would see any request from your browser.

3. Host access

Access to websites is optional and requested only when you press Start Recording, or, for the sites involved, when you send a request from Compose or run a test suite with nothing recording, or switch on a rule profile or a mock set, or turn on the cookie jar for a site, or import from a URL or connect to an MCP server at an address on a site not yet allowed. It is used to observe the network traffic of the tabs in the window you choose to record, for the features described in the store listing, and, when you choose "Send from the extension instead" or send from Compose or run a test suite with nothing recording, to send your request to that site from the extension (section 2). What it observes there never leaves your device. The one exception is MCP control (section 2): while it is on, what an AI agent asks for is handed, redacted, to the program you paired on this computer, and that program may send it elsewhere. Once allowed, that access stays after you stop recording, until you remove it in your browser's settings for the extension. A rule profile you switch on (Settings, Header and URL rules, Profiles that stay on) uses this same access, only for the sites you named: it changes headers or addresses of requests to those sites, in every tab and with nothing recording, until you switch it off. A mock set you switch on (Settings, Mock sets that stay on) uses this same access, only for the sites you named: on the pages of those sites it answers the calls that match its rules with the mock answer, error or delay you set, in every tab and with nothing recording, until you switch it off. It records nothing there. The cookie jar uses this same access, only for the sites you turn it on for: it adds the jar's cookies to RequestFox's own requests to those sites and reads the cookies their answers set. MCP control asks for this same access for http://127.0.0.1 only, when you press Connect, and uses it only to reach the requestfox-mcp server on this computer. RequestFox never asks for site access or any other permission for an MCP client; an action that needs one works only when you have already allowed it.

4. OAuth tokens

Tokens from an OAuth profile you configure are encrypted (AES-GCM) before they are written to browser storage. The decryption key is held only in memory and is never written to disk or sent anywhere. It is cleared when the background worker or the browser restarts, and you enter the passphrase again.

5. No AI

RequestFox contains no AI model and no AI code. RequestFox gives nothing you capture, type or send to any AI service, and no model runs in the extension. Everything it does with your requests is ordinary code that runs on your device. MCP control (section 2), off until you turn it on, lets an AI agent that you run yourself, outside RequestFox, ask RequestFox for actions over a link on this computer; the redacted answers go to that agent, and what it does with them (for example, sending them to its own AI service) is up to the agent you chose.

6. Permissions

RequestFox asks for these browser permissions, each only for the job named:

  • scripting: put the capture scripts into the tab you record, and, for a mock set you switch on, into the pages of the sites you named.
  • webRequest: read request and response details (method, address, headers, status, timing) of the tabs you record, while a recording is running, and the cookies set in answers to RequestFox's own requests to a site whose cookie jar is on.
  • declarativeNetRequest: apply the header-override and URL-rewrite rules that you define yourself in Settings, while recording and, for a rule profile you switch on, with nothing recording, and add the cookie jar's cookies to RequestFox's own requests to a site you turned the jar on for.
  • storage and unlimitedStorage: keep your settings, collections and sessions on your device; the second lets long recordings be saved without hitting the browser's default storage limit.
  • tabs: read the address and title of the tab you record, and open reports and links in a new tab.
  • downloads: save the exports you ask for (HAR, reports, scripts) as files.
  • notifications: show a desktop alert when a recording sees an error or a changed response shape. You can turn this off in Settings.
  • identity: open the OAuth sign-in window for a profile you configure.
  • sidePanel (Chrome): show RequestFox in the browser's side panel. Firefox uses its own sidebar and needs no permission for it.
  • <all_urls> (optional host access): requested when you press Start Recording, or for the sites involved when you send from Compose or run a test suite with nothing recording, or switch on a rule profile or a mock set, or turn on the cookie jar for a site, or import from a URL or connect to an MCP server at an address on a site not yet allowed, so Chrome or Firefox asks you first; Send from the extension instead uses the same access, and MCP control asks for it for http://127.0.0.1 only, when you press Connect. See section 3.
  • debugger (optional, Chrome only): requested only the first time you turn on Slow down the whole tab (Settings), after RequestFox has said that Chrome then shows its own "started debugging this browser" bar. It is used only to set the network conditions (a slower speed, or offline) of the one tab you pick. Chrome applies network conditions only while the DevTools protocol's Network domain is enabled, so RequestFox sends Network.enable, Network.emulateNetworkConditions and Network.disable and no other command; it does not listen to, read or store the events this produces, and reads nothing from the tab. It lets the tab go when you turn it off, stop recording, close the tab or the last open RequestFox panel, or close Chrome's bar. Firefox has no such permission, so this does not appear there.
  • cookies (optional): requested only when you press Import from this browser in the cookie jar, together with access to that one site, so Chrome or Firefox asks you first. It is used then, to read the browser's own cookies for that site and copy them into the jar; RequestFox never changes or deletes the browser's cookies.

7. Third parties

Since RequestFox collects no data, it shares none. Requests you send (section 2) reach the servers you chose, nothing more. With MCP control on, the redacted answers to what a connected AI agent asks for go to that agent (section 2).

8. Changes and contact

We may update this policy from time to time; changes will appear on this page with a new date. Questions about this policy or the extension's behavior: email accessisight@gmail.com.

Nothing to sign up for. Nothing sent to us.

Free, in Chrome and Firefox.