[{"data":1,"prerenderedAt":159},["ShallowReactive",2],{"blog-introducing-signal":3},{"id":4,"title":5,"author":6,"body":7,"date":149,"description":150,"extension":151,"meta":152,"navigation":153,"path":154,"readingTime":155,"seo":156,"stem":157,"__hash__":158},"blog\u002Fblog\u002Fintroducing-signal.md","Introducing Signal: Full Context Bug Reports That Stay Local","Signal Team",{"type":8,"value":9,"toc":140},"minimark",[10,15,19,22,25,29,32,73,76,80,83,91,94,108,112,115,118,125,129],[11,12,14],"h2",{"id":13},"why-bug-reports-usually-fail","Why Bug Reports Usually Fail",[16,17,18],"p",{},"Most bug reports look like this: \"it's broken.\" A screenshot. A vague description. And a reproduction rate of about 20% if you're lucky.",[16,20,21],{},"The developer spends hours trying to reproduce it. The QA engineer files another ticket. The bug ships to production again.",[16,23,24],{},"Signal was built to break this cycle.",[11,26,28],{"id":27},"what-signal-captures","What Signal Captures",[16,30,31],{},"When a bug occurs, Signal records:",[33,34,35,43,49,55,61,67],"ul",{},[36,37,38,42],"li",{},[39,40,41],"strong",{},"Session replay"," - frame-by-frame video of what the user saw",[36,44,45,48],{},[39,46,47],{},"Network HAR"," - every HTTP request and response, headers and bodies",[36,50,51,54],{},[39,52,53],{},"Console logs"," - errors, warnings, and custom log output",[36,56,57,60],{},[39,58,59],{},"DOM state"," - HTML snapshots at critical moments in the session",[36,62,63,66],{},[39,64,65],{},"User events"," - clicks, inputs, and navigation with precise timestamps",[36,68,69,72],{},[39,70,71],{},"Framework state"," - React, Vue, or Svelte component trees and props",[16,74,75],{},"All of this is bundled into a single structured JSON report that any developer can open in the Signal viewer and explore in minutes - no account needed, no upload required.",[11,77,79],{"id":78},"local-first-by-design","Local-First by Design",[16,81,82],{},"Here is the part that matters: none of this leaves your machine unless you explicitly share it.",[16,84,85,86,90],{},"Signal has no backend. There is no cloud database storing your session data. The extension writes to ",[87,88,89],"code",{},"chrome.storage.local"," and that is it. When you are done investigating, the data is gone.",[16,92,93],{},"This means:",[33,95,96,99,102,105],{},[36,97,98],{},"No data retention policy to worry about",[36,100,101],{},"No SaaS subscription required",[36,103,104],{},"No sensitive production data sitting in someone else's database",[36,106,107],{},"GDPR compliance is straightforward",[11,109,111],{"id":110},"the-ai-agent-handoff","The AI Agent Handoff",[16,113,114],{},"Signal's most powerful feature is the LLM Context export. In one click, it builds a structured prompt containing exactly the bug context an AI agent needs - filtered, redacted, and sized to fit within your model's context window.",[16,116,117],{},"Paste it into Claude, GPT-4o, or any other LLM and get actionable fix suggestions immediately.",[16,119,120,121,124],{},"With the Signal VS Code extension and local MCP server, you can skip the copy-paste entirely. Signal automatically pushes the context to your agent the moment you click ",[39,122,123],{},"Open in VS Code",".",[11,126,128],{"id":127},"get-started","Get Started",[16,130,131,132,139],{},"Install Signal from the ",[133,134,138],"a",{"href":135,"rel":136},"https:\u002F\u002Fchromewebstore.google.com\u002Fdetail\u002Fsignal-report-bugs-feedba\u002Femhgdolnifabeijjkiooeocdomdbelia",[137],"nofollow","Chrome Web Store",". It takes 30 seconds to install and nothing to configure.",{"title":141,"searchDepth":142,"depth":142,"links":143},"",2,[144,145,146,147,148],{"id":13,"depth":142,"text":14},{"id":27,"depth":142,"text":28},{"id":78,"depth":142,"text":79},{"id":110,"depth":142,"text":111},{"id":127,"depth":142,"text":128},"2026-04-08","Signal captures everything developers need to reproduce and fix bugs, without sending a single byte to the cloud.","md",{},true,"\u002Fblog\u002Fintroducing-signal","4 min read",{"title":5,"description":150},"blog\u002Fintroducing-signal","bI_kdAkc0xTtFwdybaK8rDWv_ryStfnXOhgvgE7ByPk",1778935227765]