← index
platform
macos · chrome
provenance
per flow, structural
agent access
mcp
licence
gpl-3.0-or-later
language
python
last commit
2026-09-05

I built pporlock to explore how developers and agents can inspect and transform browser traffic, and what safe, observable agent interaction with web infrastructure could look like. As a web developer, I’m often wondering what’s actually being sent and received by my web browser. This is a a combination of an https proxy, a set of modules that allow you to instrument and alter what’s flowing through, and an MCP interface that can inspect traffic and develop new modules and capabilities. A chrome extension makes it easy to manage when it’s in use and what it’s doing.

New modules are developed using a simple declarative language or with embedded python code. It comes with a set of examples and utilities:

  • adblock - block traffic from known ad server domains
  • cookie-banners - supress cookie warnings
  • css-tamper - alter CSS elements as they go by
  • json-tamper - alter JSON blocks
  • ws-inspect- capture and inspect websocket traffic
  • user-agent-switcher - emulate googlebot, an LLM scraper, or any other browser
  • gpc-audit - send a global privacy control signal, and record the cookies that get set anyway

The MCP interface can monitor and capture traffic, develop a module to run the fix, and run the module against the shared traffic to make sure it worked.

The Agentic LLM integration was a great way to instrument the actual network traffic- but also the browser’s behavior. By selectively relaxing content security policies, I was able to pinpoint exactly what was breaking an external vendor’s site. I was able to diagnose a problem with our Global Privacy Controls and discover why we still had a cookie loading against user wishes. This last one had the potential to leave us with a significant GDPR violation, and the diagnosis was made much easier with this application.

all the rules in order
all the rules in order
the module editor for declarative transformations
the module editor for declarative transformations
how requests transit the proxy
how requests transit the proxy