Definition
VAPID
VAPID (Voluntary Application Server Identification) is a key-pair scheme, standardised in RFC 8292, where a server generates one ECDSA P-256 key pair, keeps the private key secret, and shares the public key with browsers via the applicationServerKey option when subscribing. It lets push services verify which application server is sending a given message without requiring a proprietary developer account per browser vendor.
A typical Node setup uses the web-push library: const vapidKeys = webpush.generateVAPIDKeys(); webpush.setVapidDetails("mailto:ops@example.com", vapidKeys.publicKey, vapidKeys.privateKey);. The mailto contact is required by the spec so push services can reach an application owner about abuse.
The same key pair should be reused for the lifetime of your subscriptions — rotating VAPID keys invalidates every existing subscription created with the old public key, forcing all users to resubscribe.
VAPID replaced earlier vendor-specific mechanisms like Chrome's original sender-ID requirement, letting any server push to any supporting browser with the same standard credentials rather than juggling per-vendor API keys.
The full JWT-based authentication scheme is defined in RFC 8292: https://www.rfc-editor.org/rfc/rfc8292.