Product Overview
What is Stylus SFTP Server?
Stylus SFTP Server is an enterprise-grade file-transfer platform. Users
connect over SFTP, FTP and FTPS, or
WebDAV, or from any browser through the built-in
file portal — all against one set of accounts,
quotas, and audit trail. A built-in Knowledge Base and an
identity model of organizations and groups round out the
platform. Designed for production deployment, it runs on both
Windows and Linux — as a Windows service, a Linux
systemd service, or a standalone process on either.
Each user connects via any supported protocol and receives an isolated home directory. Downstream systems pick up transferred files from the shared filesystem or database backend, making Stylus SFTP Server a simple, reliable file-exchange hub.
Key Features
Transfer Protocols
- SFTP (SSH File Transfer Protocol) with modern cryptographic algorithms, including post-quantum key exchange (ML-KEM).
- FTP / FTPS (explicit and implicit TLS) with configurable cipher suites.
- WebDAV — mount as a network drive on Windows, macOS, and Linux; HTTP Basic Auth over TLS.
- Web File Transfer Portal — browser-based upload and download with drag-and-drop, folder tree, and clipboard operations.
Authentication
- Multiple provider types — JDBC database, LDAP / Active Directory, XML flat file, public key — and any number of enabled provider instances. The Login Orchestrator probes them in parallel on every login and admits the user when exactly one returns Success. Per- provider circuit breakers keep a slow directory from stalling the login chain.
- Configurable LDAP authorization via AD/LDAP group mapping
(
<access-groups>,<read-only-groups>), plus post-authentication refresh of Stylus SFTP Server group memberships from the user's LDAPmemberOfattribute. - Account lockout after consecutive failed logins.
- TOTP multi-factor authentication (RFC 6238) with QR code enrollment and recovery codes.
Identity Model — Organizations, Groups, Virtual Folders
- First-class organizations for multi-tenant deployments, with a distinguished operator org and any number of customer orgs.
- Groups scoped to an organization carry capability
flags (
read_only,can_checksum,can_sign,mfa_required) and quota limits. A user can belong to groups in any org. - Virtual folders — logical paths (like
/releases/) mapped to physical directories on disk, granted to groups withREAD/WRITE/READ_WRITEpermission. Mount routing surfaces virtual folders to SFTP, FTP, and Portal clients per-channel. - Portal PGP signing and SHA-512 checksum
sidecars gated by group capability, plus a public
/KEYSendpoint and a downloadable Verifier tool for release recipients. - All admin surfaces (Web, Swing, CLI) share the same identity commands and emit audit events on every mutation.
Editions
Stylus SFTP Server ships in four editions, gated at runtime by an
activation.key file:
| Edition | Notable capabilities |
|---|---|
| Free | Single SFTP connection, XML flat-file or bundled H2 users, local filesystem storage, log-file audit. Perfect for evaluation and low-volume personal use. |
| Standard | Adds FTPS, unlimited connections, JDBC / LDAP authentication, JDBC / syslog / webhook audit, and the identity model (organizations, groups, virtual folders). |
| Professional | Adds the database storage backend (files as ref-counted BLOBs in SQL Server / MySQL / PostgreSQL) and MFA. |
| Enterprise | Adds Portal white-label branding, PGP signing (Portal Sign
button, /KEYS endpoint), and cloud vault secret
storage. |
The License tab in the admin console shows the current edition, customer, expiry date, and source of the running activation key. See Administration » License Management for the update / clear workflow.
Filesystem & Uploads
- Per-user home directories with configurable access control (read-write or read-only).
- Per-user disk quotas with hard and soft enforcement.
- Upload lifecycle: staging files (
.tmp), atomic rename, duplicate handling, and orphan cleanup. - Database file storage — files stored as ref-counted chunked BLOBs with copy-on-write, supporting SQL Server, MySQL, and PostgreSQL.
Security
- IP block lists (CIDR notation) and connection rate limiting with automatic blacklisting.
- GeoIP country-based connection blocking (MaxMind
.mmdbor CSV import). - Certificate management: PEM and P12 import, self-signed certificate generation.
- ECDSA activation key licensing.
Monitoring & Audit
- Comprehensive audit trail: database, log file, syslog (RFC 5424 UDP), and webhooks.
- Email notifications with CSV attachments — simple, threshold, and batch rules.
- Critical server alerts — disk space, certificate expiry, license expiry, brute force, and server lifecycle events sent to admin email addresses.
Administration
- Three administration tools kept in full parity: command-line interface (CLI), Swing GUI, and web console (Ext JS).
- Web File Transfer Portal — browser-based upload and download for end users with drag-and-drop (files and folders), parallel upload, multi-file ZIP download, and file search.
- Auto-incrementing build numbers for release tracking.
Architecture Overview
| Component | Technology | Role |
|---|---|---|
| Runtime | Java 21 (LTS) | Application platform |
| SSH / SFTP engine | Built-in | SFTP protocol implementation |
| FTP / FTPS engine | Apache FtpServer 1.2.0 | FTP/FTPS protocol implementation |
| Default database | H2 (embedded) | Zero-config storage; upgrade path to SQL Server, MySQL, or PostgreSQL |
| Connection pool | HikariCP | JDBC connection pooling |
| Caching | Caffeine | Account and quota caches |
| Password hashing | Bouncy Castle | BCrypt and SSH cryptographic operations |
| Web server | Embedded Tomcat 11 | Web admin console and file transfer portal |
| Logging | Log4j 2 + SLF4J facade | Application and audit logging |
| Windows service | Apache Commons Daemon (procrun) | Service registration and lifecycle |
Deployment Model
Stylus SFTP Server follows a simple file-exchange pattern:
- Users connect via SFTP or FTPS and authenticate against the configured provider.
- Each user is placed in an isolated home directory.
- Uploaded files go through a staging phase (written as
.tmpfiles) and are atomically renamed upon successful completion. - Downstream systems pick up completed files from the shared filesystem.
.tmp files —
these indicate uploads that are still in progress.
System Requirements
| Requirement | Minimum | Recommended |
|---|---|---|
| Java | 21 (LTS) | 21 or later |
| Operating system | Windows Server 2016+ or Linux | Windows Server 2022 or current Linux LTS |
| Memory (JVM heap) | 512 MB | 1 GB or more |
| Disk space | Sufficient for home directories and the embedded database. Plan according to expected transfer volume. | |
.tmp files) and the final target
directory must reside on the same filesystem volume, because the server
uses ATOMIC_MOVE to rename completed uploads.