Skip to content
This repository was archived by the owner on Apr 16, 2026. It is now read-only.

Research: Port Svix webhook verification and normalization patterns #9

@haasonsaas

Description

@haasonsaas

Context

Svix (3.2k stars, Rust, MIT) is the leading OSS webhook infrastructure platform with verification, retry, and delivery guarantee patterns.

What to yoink

  • Webhook signature verification — HMAC-based payload verification per provider (each SaaS has different signing schemes)
  • Provider-specific payload normalization — standardize diverse webhook payloads into a common event schema
  • Retry with exponential backoff — configurable retry policies with dead-letter handling
  • Event type registry — typed event schemas with versioning and backwards compatibility
  • Delivery guarantees — at-least-once delivery with idempotency key deduplication

Approach

Ensemble-tap already uses NATS JetStream + ClickHouse for event streaming. The webhook ingestion layer is where Svix patterns apply:

  1. Study Svix's webhook verification library for provider-specific HMAC schemes
  2. Port payload normalization patterns for SaaS-specific webhook formats
  3. Borrow event type registry design for typed, versioned event schemas
  4. Evaluate delivery guarantee patterns alongside JetStream's built-in guarantees

References

Priority

Tier 2 — Clean patterns for the messy reality of SaaS webhook diversity

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions