October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

Webhook Security Checklist: Signatures, Timestamps, and Replay Protection

A practical webhook security checklist for validating signatures against raw request bodies, applying documented timestamp checks, and preventing duplicate side effects.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To secure a webhook receiver, verify the provider’s signature against the exact raw request body before processing it, apply timestamp checks only when the provider documents a signed timestamp, and use delivery-ID deduplication plus idempotent handlers to limit replay and duplicate effects. The details differ by provider: GitHub signs the payload body and supplies a delivery ID, while Svix’s documented format signs a message ID, timestamp, and raw body together.

Webhook receiver security checklist

  1. Identify the provider’s format. Confirm its current signature header, algorithm, encoding, signed content, timestamp rules, delivery ID, and redelivery behavior. Do not assume formats are interchangeable.
  2. Preserve the original request bytes. Retain the raw body and verify it before JSON parsing, character conversion, or other middleware transforms it.
  3. Verify before business processing. Use the documented secret or key and signature algorithm. Reject missing or invalid signatures, and compare signatures using a constant-time function from a reputable library or runtime API.
  4. Apply replay controls supported by the provider. Check freshness only for a timestamp that is included in the signed content and according to the provider’s documented tolerance. Record stable delivery IDs and make business operations idempotent.
  5. Protect the secret and connection. Use a high-entropy per-webhook secret where supported, store it securely on the server, require HTTPS, and keep certificate verification enabled.
  6. Validate and dispatch safely. Check event type, action, and expected payload fields; account for out-of-order events; queue slow work when appropriate; and return the provider-appropriate success response promptly.

Verify the signature against the raw body

A valid signature is evidence that the signed content matches what the sender authenticated; it is not a substitute for validating the event’s meaning or safe handling. Verification must use the provider’s documented inputs. If a JSON parser or proxy changes whitespace, encoding, or other body bytes before validation, a legitimate signature may fail. GitHub explicitly warns not to modify payloads or headers before validation and demonstrates reading the original body. See GitHub’s webhook validation guidance.

As an Amazon Associate I earn from qualifying purchases.

Use the provider’s current signature header and algorithm. A constant-time comparison helps avoid leaking information through timing differences; ordinary string equality is not an appropriate replacement. Reject invalid or absent signatures before triggering business side effects.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

GitHub: body HMAC and delivery-ID deduplication

For GitHub webhooks, the recommended signature header is X-Hub-Signature-256, an HMAC hex digest using SHA-256. X-Hub-Signature is a legacy SHA-1 header retained for compatibility. Configure a high-entropy webhook secret, keep it securely, and validate the signature against the unmodified body using constant-time comparison. GitHub’s validation documentation provides language-specific examples.

#1 Best Overall
Sale
Network Security, Firewalls, and VPNs: . (Issa)
  • Available with the Cloud Labs which provide a hands-on, immersive mock IT infrastructure enabling students to test their skills with realistic security scenarios
  • New Chapter on detailing network topologies
  • The Table of Contents has been fully restructured to offer a more logical sequencing of subject matter
  • Introduces the basics of network security—exploring the details of firewall security and how VPNs operate
  • Increased coverage on device implantation and configuration

GitHub’s best-practices guidance recommends HTTPS with SSL verification enabled and treats IP allowlisting as an additional layer, not a replacement for signature checks. If you allowlist GitHub IP ranges, maintain the list because those ranges can change. Inspect the event type and action before dispatching work. GitHub recommends a 2XX response within 10 seconds; queue work that cannot safely finish within that period. Its webhook best practices cover these operational recommendations.

Use X-GitHub-Delivery to identify deliveries and avoid unintended repeat effects. GitHub states that a requested redelivery retains the original delivery ID, so decide explicitly how your recovery process handles a previously seen ID. A deduplication record should prevent the same external side effect from running twice, while any intentional recovery path should be deliberate rather than an accidental bypass.

Rank #2
Wintertion1U/Desktop/Rackmount Firewall Hardware,OPNsense, VPN, Network Security Appliance, Router PCN2600 D2700, 4 x Gigabit LAN, COM, VGA, Fan, 0 RAM, 0 Storage (Desktop Type, 4G RAM 64G SSD)
  • equipped with atom n2600 d2700 processor, compatible with many freebsd based router systems, linux distros, or win.os supported, easy configuration and management
  • Please note, this is a barebone only. A system memory, a storage drive and an operating system are needed to complete this system
  • 13-19 inches 1u, 50w power, with power cord, make sure to use a big brand memory and ssd/hdd with quality assurance
  • Designed with console, 2 x usb, 4 x lan, vga, power switch, size at 290 x 180 x 44mm
  • There are 2 inside reserved fans on chassis, which could be removed freely or be turned on in a high temperature environment to ensure the best function of the product

GitHub’s cited signature guidance describes an HMAC over the body; it does not document a signed timestamp freshness window for this format. Do not invent a timestamp check or treat an unsigned timestamp header as authenticated. GitHub also notes that deliveries can arrive out of order. If chronology matters, use timestamps in the payload for event ordering, while recognizing that event time and signature freshness are different questions. See GitHub’s delivery-handling guidance.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Svix: signed timestamp and message ID

Svix documents a different signing construction: the signed content concatenates the message ID, timestamp, and raw body, separated by periods. The receiver uses Webhook-Id, Webhook-Timestamp (Unix seconds), and Webhook-Signature. Its receiver guide says its libraries reject timestamps more than five minutes in the past or future and recommends constant-time signature comparison. That five-minute window is specific to Svix’s libraries, not a universal webhook rule. Follow the provider’s documented format and preserve the raw body when verifying. See Svix’s payload verification guide.

Rank #3
SonicWall TZ270W Wireless Gen7 Firewall | SMB Wi-Fi Security Appliance with 2 Gbps Firewall Speed, Integrated Wireless Radios, Threat Protection, and Cloud Management (02-SSC-2823)
  • SonicWall TZ270W Appliance Only - No Service Subscription (02-SSC-2823) - Combines enterprise-grade firewalling with integrated 802.11ac Wave 2 Wi-Fi to deliver secure wired and wireless connectivity in one compact device for small offices and clinics.
  • Blocks zero-day threats and ransomware with Capture ATP sandboxing enhanced by RTDMI, plus IPS and anti-malware scanning for layered protection.
  • Eliminates the need for separate access points in smaller spaces thanks to built-in high-speed wireless that is simple to deploy and manage.
  • Supports VPN, SD-WAN, and TLS 1.3 decryption to secure hybrid cloud access and remote workers while maintaining usability and performance.
  • Delivers gigabit performance with up to 750,000 concurrent connections to handle growth in users, devices, and SaaS applications.

Svix’s delivery guidance says a successful receiver should return a 2XX status within a reasonable time and gives 15 seconds as an example for Svix. Do not apply that example to another provider; use that sender’s own acknowledgment expectations. See Svix’s receiving guide.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Choose replay and duplicate controls by provider

A signature by itself does not necessarily prevent a captured valid request from being sent again. Build layered defenses from controls the sender actually supports:

Rank #4
FortiGate-40F Firewall Appliance - 5 Gigabit Ethernet RJ45 Ports, Ideal for Small Businesses (Appliance Only, No Subscription) (FG-40F)
  • Compact and Efficient Design: The FortiGate 40F is designed for small to mid-sized businesses and enterprise branch offices, featuring a compact, fanless desktop form factor that ensures quiet operation and minimizes space usage.
  • Robust Connectivity Options: Equipped with 5 GE RJ45 ports, including 1 WAN port and 4 internal ports, this model provides essential connectivity and flexibility for various network configurations in a small-scale environment.
  • High-Performance Security: Offers up to 1 Gbps IPS throughput and 600 Mbps threat protection throughput, using Fortinet’s purpose-built security processor technology to deliver industry-leading performance and protection for SSL encrypted traffic.
  • Advanced Threat Protection: Integrated with Fortinet’s AI-powered FortiGuard Labs, the FortiGate 40F offers comprehensive cybersecurity, identifying and mitigating both known and unknown threats to maintain robust security across your network.
  • Simplified Management and Deployment: Features a user-friendly management console that provides comprehensive network automation and visibility, coupled with Zero Touch Integration with Fortinet’s Security Fabric for easy deployment.
  • Signed timestamp: Enforce a bounded freshness window only when the timestamp is part of the signed content and the provider documents the rule. Keep receiver clocks synchronized and make the selected tolerance explicit.
  • Stable delivery ID: Persist seen IDs for an appropriate retention period and use them to prevent repeated processing. Confirm how the provider identifies redeliveries before choosing recovery behavior.
  • Idempotent business operations: Design handlers so an event processed more than once cannot repeat a charge, notification, or other external effect. Deduplication and idempotency complement each other: the former recognizes a delivery, while the latter protects the operation.

An OWASP webhook page recommends timestamp validation alongside event-ID deduplication, but it is in OWASP’s draft directory and should be treated as draft guidance rather than a universal standard: OWASP’s draft webhook security guidance. If a provider does not sign a timestamp, use its documented signature verification, stable-ID deduplication, and idempotent handling where available instead of adding an unauthenticated timestamp check.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Compare provider rules before implementation

Control GitHub Svix
Signed content and signature Body HMAC using SHA-256, represented in X-Hub-Signature-256; legacy SHA-1 header also exists. Source: GitHub validation guidance. Message ID, timestamp, and raw body concatenated with periods, accompanied by Webhook-Id, Webhook-Timestamp, and Webhook-Signature. Source: Svix verification guide.
Timestamp freshness A signed timestamp freshness window is not stated in the cited GitHub validation guidance. Source: GitHub validation guidance. Svix libraries reject timestamps more than five minutes in the past or future. This is Svix-specific. Source: Svix verification guide.
Delivery identity and redelivery X-GitHub-Delivery identifies a delivery; requested redelivery retains the original ID. Source: GitHub best practices. The cited receiver guide identifies Webhook-Id; redelivery-ID behavior is not stated in that guide. Source: Svix verification guide.
Successful response timing GitHub recommends 2XX within 10 seconds. Source: GitHub best practices. Svix gives 15 seconds as an example of a reasonable response time; it is not a universal deadline. Source: Svix receiving guide.

Operational checks before enabling a receiver

  • Confirm tests cover valid signatures, invalid signatures, missing signature headers, and body mutations introduced by application middleware or proxies.
  • Keep secrets out of source control and logs; restrict access to the server-side secret store.
  • Verify that a duplicate delivery cannot repeat external effects, including after a timeout or retry.
  • Check that event handlers tolerate out-of-order arrival when the provider can deliver events that way.
  • If using IP allowlisting, assign an owner and process for keeping provider ranges current.
  • Choose response timing and recovery behavior from the provider’s documentation rather than copying another provider’s thresholds.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.