Full Data Control

Maintain full control over your data.

Custom ETL Workflows

Create custom workflows with your data.

Production Ready Platform

Launch a scalable platform in hours.

Communications Platform Technical Stack

Our platform is composed of the following layers:

  • Service Status API
  • Admin Application
  • Portal Application
  • Console Application
  • Background Workers
  • Real-Time Workers
  • Analytics Engine
  • SFTP Gateway
  • Authentication Service (oAuth2)
Flat File In-App Upload Editing

Self-Hosted Options

Public Clouds - Amazon Web Services and Azure

Use Docker Compose to deploy eCourtDate in your private AWS or Azure account.

On-Premises Networks

Use our command line interface to deploy eCourtDate in your on-premises network.

Private Amazon Web Services

External Connections


Real-Time Workers use HTTPS webhooks to deliver system updates in a performant and scalable manner. If disabled, the application will automatically update message delivery status and retrieve inbound messages by using an outgoing CRON-scheduled HTTPS connection instead.

The Portal application is used by the public and message recipients to check their case status and any other important information. The Portal may be disabled completely or deployed separately. It is a stateless application without external dependencies and uses the REST API for any dynamic data.


Outgoing HTTPS connections are required to send messages to external carriers and gateways.

An outgoing encrypted pub/sub connection is used for the eCourtDate license server.

Self-Hosting Requirements

The following infrastructure components are required:

  • Linux virtual machines
  • TLS certificate for the domain/subdomain
  • Postgres, MariaDB, or MySQL for primary and tenant databases
  • Redis for job queues and in-memory cache
  • Docker for container management and deployment
  • Apache or Nginx for web server
  • Storage buckets for files
Multi-Tenant Architecture

Each eCourtDate tenant is referred to as an "agency" with its own dedicated and isolated database.

Multi-Environment Support

Deploy separate stacks of staging and production environments with unique configuration.

Ongoing Updates

Apply maintenance and security updates in your own review process.

Maximum Performance

For high-volume, high-speed requirements (over 10K messages per day), we recommend using a Kubernetes cluster instead of single virtual machines.