Webhook bertanda tangan

Webhook bertanda tangan

Peristiwa pengiriman, bounce, dan keluhan ditandatangani dengan HMAC-SHA256.

Persyaratan penerima

Hitung tanda tangan dari isi permintaan mentah (raw) yang persis. Bandingkan tanda tangan dalam waktu konstan (constant time).

Kontrol keluar (outbound)

Pembuatan endpoint memerlukan HTTPS. Target privat, loopback, link-local, metadata, yang membawa kredensial, dan internal diblokir dan di-resolve ulang saat waktu koneksi. Redirect tidak diikuti. Pengiriman menggunakan timeout dan jumlah percobaan ulang yang dibatasi.

Kontrol yang diterapkan

TLS untuk jalur pengiriman HTTP eksternal dan submission SMTP yang didukung Kunci API yang di-hash, scoped, kedaluwarsa dengan allowlist IP opsional

Batas enkripsi

TLS adalah enkripsi transport, bukan enkripsi email end-to-end. Penyedia penerima dapat memproses konten yang terkirim. Pelanggan yang membutuhkan kerahasiaan tingkat pesan harus menambahkan skema yang sesuai seperti S/MIME, PGP, atau enkripsi tingkat aplikasi.

HMAC-SHA256
signed = timestamp + "\0" + event_id + "\0" + raw_body
expected = HMAC-SHA256(webhook_secret, signed)
constant_time_compare(expected, Postline-Signature)