# web_push v0.1.0 - Table of Contents

> Web Push notifications for Elixir: VAPID (RFC 8292) and aes128gcm payload encryption (RFC 8291/8188)

## Pages

- [WebPush](readme.md)
- [LICENSE](license.md)

## Modules

- [WebPush](WebPush.md): Web Push sender: encrypts a JSON payload with `aes128gcm`
(`WebPush.Encryption`), signs a VAPID JWT (`WebPush.Vapid`), and POSTs the
binary body to the subscription's push service endpoint via Finch.
- [WebPush.Encryption](WebPush.Encryption.md): `aes128gcm` content encoding (RFC 8188) layered over the Web Push message
encryption (RFC 8291).
- [WebPush.Subscription](WebPush.Subscription.md): A browser push subscription: the endpoint plus its encryption keys.
- [WebPush.Vapid](WebPush.Vapid.md): VAPID (RFC 8292) JWT signing for Web Push authentication.

## Mix Tasks

- [mix web_push.gen.vapid](Mix.Tasks.WebPush.Gen.Vapid.md): Generates a VAPID (P-256) keypair for Web Push.

