Skip to main content
Last updated: September 14, 2026tiCrypt 2.17.9

Introduction

The tiCrypt server consists of two major components: the tiCrypt backend and the tiCrypt VM Controller service.

Deployment

The backend is installed via the Ansible playbook. See the Installation Guide for deployment instructions. This section covers post-deployment configuration only.

For a high-level overview of tiCrypt's security architecture, see the Security Architecture Whitepaper.

Backend Services

The backend uses a modular architecture of 10 independent services. Each service communicates with other services via TCP connections (Akka framework), allowing distribution across multiple servers if needed.

ServiceDescription
ticrypt-authAuthentication, authorization, and user management. Supervises all other services.
ticrypt-restHTTP REST API gateway. Handles client requests and validates JSON payloads.
ticrypt-file-managerEncrypted file and directory operations with chunked storage.
ticrypt-batchSlurm batch job integration. Submits and tracks jobs against the Slurm controller.
ticrypt-vmVM lifecycle management, scheduling, cost functions, and realm coordination.
ticrypt-proxySecure connection proxy between clients and running VMs.
ticrypt-loggerCentralized logging with file and TCP output drivers.
ticrypt-statsSystem statistics and usage metrics collection.
ticrypt-notificationsUser and system notification delivery.
ticrypt-maintenanceAutomated maintenance tasks including inactive account locking.
Configuration Files

All service configuration files use HOCON format and are located in /etc/ticrypt/. Each service has its own file (e.g., ticrypt-auth.conf, ticrypt-vm.conf). See Service Configuration for shared sections that apply to all services.

Two services have extensive options and are documented on their own pages:

For token-based programmatic access to the backend, see the REST API reference.

Services Outside the Core Ten

These ship and run alongside the backend but are not part of the ten services ticrypt-services.sh manages. Several sit deliberately outside the security perimeter.

ServiceWhat it does
ticrypt-sftpSFTP data ingestion on port 2022, deployed outside the secure perimeter. Serves both administrator-provisioned SFTP and user-created Inbox access points. Needs a network path to ticrypt-rest and nothing else: it has no access to the internal network or compute nodes
ticrypt-mailboxWeb-based file submission for external collaborators, also outside the perimeter, with a one-way path to ticrypt-rest. Uploads are encrypted with the recipient's public key, so only they can decrypt them. Auto-locks on suspected impersonation or malicious file patterns. Requires its own Nginx virtual domain and TLS certificate
ticrypt-allowedlistControls VM outbound access to external licensing servers by manipulating iptables/ipset rules and DNS replies on the backend host. Unless a specific IP-and-port mapping is configured, all outgoing VM traffic stays blocked. Configuration requires Super-Admin authorization
ticrypt-host-controllerRuns on each compute node. Receives Global Slurm jobs and starts a secure VM for each allocated job, then notifies the backend so the VM can be handed to the VM Controller for provisioning. Maintains the local job-tracking database
ticrypt-host-managerBridges the Global Slurm scheduler and the tiCrypt backend for batch processing. Global Slurm allocates cluster-wide resources and enforces quotas but never sees job content; this component connects it to the Local Slurm instances that actually run jobs inside the enclave
ticrypt-driveimportSupports the External Drive Builder workflow: an administrator populates a drive outside tiCrypt, seals it with a manifest that encrypts it and binds mount rights to a named user, then imports it. Built for 5 TB and larger migrations
ticrypt-setupThe Ansible installer, and the only supported deployment method. See the Backend Installation Guide
tiauditHosts the tiCrypt Audit interface, reporting engine, and query functionality
tiaudit-loggerListens on TCP port 25000 for log entries pushed from the backend and stores them in ClickHouse
tiaudit-log-uploaderBackfills historical audit logs into ClickHouse during initial deployment or recovery

VM Controller Service

The VM Controller is an Nginx-based service that delivers signed controller scripts and guest agents to running VMs. It operates independently of the backend services listed above.