Overview
On-premise deployment gives you full infrastructure sovereignty. Enclave runs on your servers, connects to your HSM, and stores data in your storage systems. No traffic leaves your network perimeter.System requirements
The content-inspection (DLP) subsystem — Microsoft Presidio (NLP) + Apache Tika
(JVM) — sets the memory floor: 16 GB is the minimum with DLP enabled. For
millions of files / thousands of users, size to 16 vCPU / 64 GB / NVMe. See
the private appliance sizing profiles
for the full tier table; the appliance auto-tunes to the VM it’s given, while a
hand-rolled on-premise Compose deployment must set container memory limits itself.
Components
Installation
Enclave ships as a Docker Compose stack. You receive a private registry token when you purchase an on-premise licence.Environment configuration
Key variables in.env:
Object storage CORS
Enclave’s web client encrypts files in the browser and uploads ciphertext directly to your bucket via pre-signed URLs — plaintext never transits the application server. For this to work, your bucket must allowPUT requests
from the Enclave web origin(s).
Apply a CORS configuration like the following, replacing
https://enclave.yourcompany.com with your deployment’s domain:
1
Open the bucket
S3 → click into your bucket
2
Go to Permissions
Open the Permissions tab
3
Edit CORS
Scroll to Cross-origin resource sharing (CORS) and click Edit
4
Paste the rules and save
The console expects the rules array directly (no Click Save changes. The policy takes effect immediately.
CORSRules wrapper):Only add
http://localhost:3000 to AllowedOrigins when developing
against this bucket from a local frontend build. Production deployments do
not need it.ExposeHeaders: ETag is required for multipart uploads — the client reads the
ETag returned for each uploaded part. Without a matching CORS rule, browser
uploads fail with a CORS policy error on the pre-signed PUT and the file
remains stuck in pending/scanning until the abandoned-upload cleanup
worker removes it.