Overview
Log streams fan out your audit events to external destinations as they are ingested. Immutable supports two destination types: HTTPS webhooks and S3-compatible storage. Log streams are quota-gated, not plan-gated — every plan can use them.Destination Types
HTTPS Webhook
Events are POSTed to your endpoint as JSON with HMAC signature verification.
S3 Storage
Events are written to your S3-compatible bucket (AWS S3, Cloudflare R2, MinIO, etc.).
HTTPS Webhooks
Payload Format
Each event is sent as aPOST request with:
Content-Type: application/jsonX-Immutable-Signature: sha256={hmac_hash}
Verifying Signatures
Failure Handling
If your endpoint returns a non-2xx status code, Immutable retries with exponential backoff. After 3 consecutive failures, the stream is automatically moved to anerror state and stops delivering events.
Re-enable the stream from the dashboard after resolving the issue.
S3 Storage
Configure a stream with your S3-compatible credentials:Immutable uses Laravel’s
Storage::build() to connect to your bucket at runtime with your credentials. Credentials are encrypted at rest.