Paste a segment track JSON payload and get a Valibot v.object schema you can run inside your handler. Smaller bundle than Zod, same boundary guarantee — useful for Cloudflare Workers, Vercel Edge, and any runtime where bundle size matters.
Segment track calls land in your warehouse via a destination — a parse at the destination catches a marketing team renaming a property (order_id vs orderId, total vs revenue) before the rename corrupts your fact table.
Segment Edge Functions and Cloudflare Workers running custom destinations have a tight bundle budget; Valibot's per-primitive tree-shaking is what makes a non-trivial validator (schema + v.union + v.array) fit under the worker size cap with headroom for business logic. The output is a copy-paste-runnable v.object using the canonical namespace import (import * as v from "valibot"); only the primitives your shape actually uses (v.string, v.number, v.array, v.union, v.optional) get pulled in.