Use case · Staging Debugging
Diff staging against production, byte by byte.
When the same Stripe event behaves differently in staging and prod, you need to see exactly what changed in the payload — not guess from logs.
What's painful today
- Production logs are read-only and full of noise — finding the one webhook that triggered a bug takes hours.
- Re-creating a payload by hand misses the headers, timing, and edge cases that caused the original failure.
- No tool shows two webhooks side-by-side, so 'what's different about this one?' becomes manual diff in a text editor.
How HookSense solves it
Side-by-side diff
Select any two captured requests and HookSense highlights every difference — headers, body fields, status, timing. The byte that broke production becomes visible immediately.
Replay prod payloads against staging
Capture the failing webhook in prod, hit Replay, target staging. Edit headers (auth, environment) before firing. No more 'works on my machine.'
Verify signatures match
When signatures fail in staging but pass in prod, HookSense's HMAC verifier shows you the exact byte mismatch — wrong secret, wrong header, wrong body encoding.
See it in code
Replay a captured prod webhook against staging
# In the HookSense UI: capture webhook → click Replay
# Target URL: https://staging.yourapp.com/webhooks/stripe
# HookSense re-sends the exact bytes — headers, body, signature.
# Or via CLI:
hooksense replay --request-id req_abc123 \
--target https://staging.yourapp.com/webhooks/stripeFAQ
Will replaying a webhook trigger duplicate side effects?
It depends on your handler. HookSense replays the exact same bytes — so if your handler isn't idempotent, you'll process the event twice. We recommend idempotent handlers (use the event ID as a dedup key).
Can I route prod and staging through the same endpoint?
Yes. Many teams point the provider at HookSense (prod), capture everything, and replay selected requests to staging on demand. This gives you a complete audit log of what prod received.
Does the diff highlight semantic differences or just text?
Both. Body diffs are JSON-aware (key reordering doesn't show as a change), and timing/status differences are surfaced separately from body changes.