How Vixify works

A plain-language rundown of what actually happens to a webhook, what the real limits are, and how projects are kept isolated from each other. Everything here matches the current code, not a roadmap.

← Back to vixify.app  ·  How this compares to Hookdeck & Svix

1. What happens when a webhook arrives

  1. Your sender POSTs to {your-project}.vixify.app (any path).
  2. If you've turned on signature verification for the project, the request's signature is checked before anything else -- an invalid or missing one gets rejected with 401 and nothing is stored (see section 4).
  3. The raw payload is stored in object storage, and a delivery record is created.
  4. You get an immediate 200 response, regardless of whether your real target has received it yet -- Vixify owns the delivery from here.
  5. A per-delivery background job POSTs the payload to your target URL -- to every target URL configured on the project, if you have more than one, each tracked (and retried) completely independently.
  6. If your target doesn't respond with a 2xx status (or doesn't respond at all), it retries with exponential backoff (see section 2) until it succeeds or the plan's retry window runs out.

2. Retries & backoff

3. Storage & what you can see

4. Signature verification

Off by default. If you turn it on for a project (from its page in the dashboard), every incoming request must carry a valid signature or it's rejected with 401 before it's stored anywhere.

5. Rate limiting

Both are a different thing from verification, and independent of each other -- a project can have either, both, or neither actually enforcing anything.

6. Per-target filtering & payload shaping

Both are optional, configured per target (not per project, from that target's "Edit" in the dashboard), and independent of each other -- a target can have a filter, a transform, both, or neither.

7. Isolation between projects

There's no shared "permissions" table -- every read or write is filtered by ownership at the point it touches the database:

Plans, in short

Free Pro -- $5/mo
Retry window Up to 48 hours Up to 7 days
Payload/response if delivery never succeeds Deleted Kept
Signature verification Included Included
Rate limiting (incoming & delivery) Included Included
Fan-out (up to 5 targets) Included Included

License & self-hosting

Vixify's source is source-available under the Business Source License 1.1 -- not yet public, but it will be. Once it is, you'll be able to read the code, self-host it, and run it in production for yourself, your own org, or your own customers, entirely free of charge, forever. The one thing the license doesn't permit is standing up a competing hosted webhook-relay service for third parties on top of the code -- for that you'd need a separate commercial license.

Feedback & support

Found a bug, hit a limit that doesn't make sense, or just have feedback? Email kruchkov.alexandr@gmail.com -- it goes straight to the person building this.