Skip to main content

Security Best Practices

Verify Webhook Signatures

1

Obtain your public key

In Monitor, click “Webhook Secret” to copy the public key you’ll need to verify incoming webhook signatures.Screenshot2025 06 26at3 46 54PM Pn
2

Implement Verification

Verify every webhook signature before processing:
3

Handle Verification Failures

Reject invalid signatures immediately:

Network Security

Restrict Access by IP Address: Configure your firewall to only accept webhooks from Orum’s IP addresses:
Use HTTPS Only:
  • Always use HTTPS URLs for webhook endpoints
  • Ensure valid SSL certificates
  • Regularly renew SSL certificates before expiration
Avoid Authentication Requirements:
  • Don’t require API keys or authentication tokens
  • Webhook endpoints should be publicly accessible
  • Use signature verification instead of authentication

Reliability Best Practices

Implement Idempotent Processing

Handle Duplicate Events Gracefully: Orum may retry webhook deliveries, so implement idempotent processing:
Use Event IDs for Deduplication:
  • Store processed event IDs in your database
  • Check for duplicates before processing
  • Include event ID in your processing logs

Respond Quickly

Return HTTP Response Within 30 Seconds:
Implement Asynchronous Processing:
  • Use message queues (Redis, RabbitMQ, SQS) for complex processing
  • Respond to webhook immediately, process later
  • Implement retry logic for failed background processing

Handle Webhook Failures Gracefully

Implement Retry Logic for Your Processing:
Log All Webhook Processing:
  • Log successful and failed webhook processing
  • Include event IDs, timestamps, and error details
  • Monitor logs for patterns and issues

Performance Best Practices

Optimize Webhook Processing

Minimize Processing Time:
  • Validate webhook signature first
  • Perform minimal processing in the webhook handler
  • Use background jobs for complex operations
  • Cache frequently accessed data
Example Optimized Handler:

Scale for High Volume

Design for Concurrent Processing:
  • Use connection pooling for database connections
  • Implement proper error handling for database timeouts
  • Consider using read replicas for webhook processing queries
Monitor Performance Metrics:
  • Track webhook processing times
  • Monitor queue depths and processing delays
  • Set up alerts for performance degradation

Event Handling Best Practices

Subscribe to Relevant Events Only

Choose Specific Event Types:
Filter Events at Processing Time:

Handle Event Order Correctly

Don’t Assume Event Order: Orum doesn’t guarantee webhook delivery order, so design your processing accordingly:

Implement Proper Error Handling

Return Appropriate HTTP Status Codes:
Status Code Guidelines:
  • 2xx: Successfully processed (won’t be retried)
  • 4xx/5xx: Failed to process (will be retried)

Monitoring and Observability

Set Up Comprehensive Logging

Log Key Information:

Monitor Webhook Health

Track Key Metrics:
  • Webhook processing success rate
  • Average processing time
  • Queue depth (for async processing)
  • Error rates by type
Set Up Alerts:
  • High error rates
  • Processing delays
  • Signature verification failures
  • Endpoint downtime

Use Monitor Tools

Leverage Built-in Monitoring:
  • Review delivery logs regularly
  • Monitor delivery success rates
  • Use test functionality to validate changes
  • Check webhook status and configuration

Development and Testing Best Practices

Local Development Setup

Use ngrok for Local Testing:
Test with Realistic Data:
  • Use Monitor test functionality
  • Test with various event types you subscribe to
  • Verify signature verification works correctly
  • Test error scenarios and edge cases

Staging Environment Testing

Deploy to Staging First:
  • Test webhook configuration in staging environment
  • Use sandbox webhook IP addresses
  • Verify all event types are handled correctly
  • Test failure scenarios and recovery
Performance Testing:
  • Load test webhook endpoints
  • Verify handling of concurrent requests
  • Test with high volume of events
  • Monitor resource usage under load

Production Deployment Checklist

Security:
  • Webhook signature verification implemented
  • HTTPS endpoint with valid SSL certificate
  • IP address restrictions configured
  • No authentication requirements on webhook endpoint
Reliability:
  • Idempotent processing implemented
  • Response time under 30 seconds
  • Proper HTTP status codes returned
  • Error handling and logging in place
Performance:
  • Asynchronous processing for complex operations
  • Database connection pooling configured
  • Monitoring and alerting set up
  • Load testing completed
Testing:
  • All subscribed event types tested
  • Signature verification tested
  • Error scenarios tested
  • Recovery procedures documented