Overview
This article outlines the technical security architecture of Dermi Atlas Professional. It is intended to help IT administrators and practice managers understand how the software protects data and where the organization must implement its own controls.
Core Principle: Local Data Sovereignty
Dermi Atlas Professional operates on a Local Data Sovereignty model.
- Local Storage: All patient health information (PHI), images, and database records are stored on the hard drive of the host computer.
- No Cloud Sync: Patient data is not synced to Dermi's servers.
- No External Access: Dermi support staff cannot access the local instance or its data remotely.
Data Flow
- Patient Images & Notes: Stored in Local Host Database. Transmitted to Dermi? No
- User Passwords (Hashed): Stored in Local Host Database. Transmitted to Dermi? No
- Audit Logs: Stored in Local Host Database. Transmitted to Dermi? No
- Verification Actions: Stored in Local Host Database & Dermi Cloud (Temporarily). Transmitted to Dermi? Yes (account identifiers and technical metadata: username, first name, account email address, request type, the verification link, IP addresses of the requesting device and the Atlas host, user agent, and timezone; no patient data).
- License Verification: Stored in Dermi Cloud. Transmitted to Dermi? Yes.
Network Security & Encryption
Transport Layer Security (TLS)
Dermi Atlas Professional supports TLS encryption for local network communications.
- HTTP (Port 15015): Available for testing, but not recommended for production.
- HTTPS (Port 15045): Recommended for all clinical use. Encrypts data in transit between the host computer and client devices (iPads, laptops).
Self-Signed Certificates
Because Dermi Atlas Professional runs on a local IP address (e.g., 192.168.x.x) rather than a public domain, it cannot use standard public SSL certificates.
- Generation: A self-signed certificate specific to the host machine is generated automatically at startup, using the configuration supplied by Dermi Atlas Manager. The certificate is regenerated automatically when it is invalid or within 30 days of expiry, and when a regeneration has been scheduled from Dermi Atlas Manager.
- Trust: This certificate must be installed on client devices to avoid browser security warnings.
- See: SSL Certificate Setup for HTTPS Access for installation guides.
Firewall Requirements
On Windows, Dermi Atlas Manager creates the required inbound firewall rules automatically, which requires administrator privileges. On macOS and Linux, no firewall rules are created automatically: on macOS, configuration is needed only when the firewall is set to block all incoming connections, in which case Docker is the application to allow; on Linux, the port rules are added by hand wherever a host firewall is enabled.
- Inbound Rules: Must allow TCP traffic on ports 15015 (HTTP), 15045 (HTTPS), 15815 and 15845 (real-time sync), and 15000 (the SSL certificate download for client devices). When a default port is already occupied, Dermi Atlas Manager selects an alternate; the ports actually in use are listed under Atlas Status => Atlas Access.
- Isolation: Running the host computer on a private network, not a guest network, is recommended.
Access Control & Authentication
The Team Model
Dermi Atlas Professional is designed for multi-user environments. A deployment holds exactly one team, and every clinical record on it belongs to that team.
- Every member of the team sees every patient, entry, and image on the deployment. One library serves the whole team, which matches how a practice holds one clinical record per patient.
- Each person keeps their own account, with their own username, password, and optional two-factor authentication. Every action is recorded under the person who performed it, and that record stays with the team after the person leaves.
- Every query against clinical data is filtered by the team the signed-in account belongs to, so no deployment can read another deployment's records.
- What a member may do is set by their account type. Export, external sharing, deletion, recovery, patient merge, and identity edits are Clinician actions; capture, documentation, and search are available to both Clinician and Assistant accounts.
- Patients may be assigned to members for organizational purposes. Assignment records responsibility and shapes the list a member opens on; it grants and withholds nothing. See Assigning Patients and Team Views.
- Membership itself is held in the cloud by Dermi Portal as a name, an email address, and an account type. Clinical data is never held there: the portal tells the deployment who is on the team and nothing more, and it cannot read, change, or create anything on the practice network beyond that member list.
- Accounts are created only by claiming an invitation issued from Dermi Portal.
Authentication Standards
- Password Hashing: Passwords are salted and hashed using industry-standard algorithms (e.g., bcrypt) before storage. Plaintext passwords are never stored.
- Complexity: Enforced requirements (12+ chars, mixed case, numbers, symbols).
- Two-Factor Authentication (2FA): Optional but recommended. Uses Time-based One-Time Passwords (TOTP) compatible with apps like Google Authenticator.
Backup & Integrity
Dermi Atlas Manager includes a built-in backup utility.
- Scope: Backups include the full database, all images, and configuration settings.
- Integrity: Checksums are generated during backup and verified during restoration to ensure data has not been corrupted.
- Format: Backups are standard compressed tar archives (.tar.gz).
Security Note: Backups are stored on the host computer by default. It is the practice's responsibility to move these backups to a secure, encrypted, off-site location (e.g., an encrypted USB drive or a compliant cloud storage bucket).
Host System Hardening
Because Dermi Atlas Professional relies on the host computer's security, the organization should implement the following "Defense in Depth" measures:
- Disk Encryption: Enable BitLocker (Windows) or FileVault (macOS) on the host computer to protect data at rest in case of physical theft.
- OS Updates: Keep the operating system patched to prevent exploit-based attacks.
- Physical Security: Restrict physical access to the host computer to authorized personnel only.