Secure Software Distribution to Customers

Deliver release builds, patches, and license files to 500+ enterprise customers — with per-customer quotas, multi-protocol access, and CRM integration.

Software Delivery at Scale Is Hard

Your build pipeline produces installers, patches, and license keys every sprint. But getting those artifacts to 500+ enterprise customers securely is a different challenge entirely.

Manual Distribution Breaks Down

Email attachments hit size limits. Cloud storage links expire and lack audit trails. FTP servers require per-customer credential management that nobody wants to maintain.

Customers demand protocol choice — some have locked-down networks that only allow SFTP on port 22. Others want browser access. A few need mapped drives via WebDAV for automated downstream processing.

And when a customer downloads a release, your CRM has no idea. Sales can't follow up. Support can't verify which version a customer is running.

The status quo
Email: 25 MB limit, no audit trail
Cloud links: expire, no protocol choice
Manual FTP: credential sprawl
No download visibility for CRM
No per-customer quotas
Different tools for each protocol

One Server, Every Customer, Every Protocol

Stylus SFTP Server gives each customer a read-only home directory accessible via SFTP, FTPS, or WebDAV. Your build system uploads releases through the Portal REST API. A webhook notifies your CRM the moment a customer downloads.

Build System CI/CD Pipeline Portal API Stylus SFTP Server Read-Only Homes + Quotas JDBC Auth (500+ accounts) Customer A (SFTP) Customer B (FTPS) Customer C (WebDAV) Customer D (Portal) DOWNLOAD Webhook CRM System Salesforce / HubSpot

Your build pipeline uploads via the Portal REST API. Customers download via their preferred protocol. Every download fires a webhook to your CRM.

Configure in Four Files

Read-only customer accounts, per-customer quotas, webhook notifications, and JDBC auth — all from XML configuration.

filesystem-config.xml — Read-only default + quotas
<filesystem
  xmlns="http://www.xmlpipelineserver.com/sftp/">
  <home-root>${STYLUS_SFTPSERVER_DATA}/homes/${username}</home-root>
  <default-access>read-only</default-access>

  <!-- Per-customer download quotas -->
  <quotas>
    <default-quota>5GB</default-quota>
  </quotas>
</filesystem>
sftp-server.xml — JDBC auth for customer accounts
<user-manager>
  <provider>jdbc</provider>
  <jdbc>
    <url>jdbc:h2:${STYLUS_SFTPSERVER_DATA}/db/sftpdb;AUTO_SERVER=TRUE;CIPHER=AES</url>
  </jdbc>
</user-manager>

<!-- Webhook fires on every DOWNLOAD event -->
<audit>
  <webhooks>
    <webhook>
      <url>https://crm.example.com/api/sftp-hook</url>
      <events>DOWNLOAD</events>
      <hmac-secret>${WEBHOOK_SECRET}</hmac-secret>
    </webhook>
  </webhooks>
</audit>
Build pipeline — Upload via Portal REST API
# Upload a release build to customer acme-corp's home directory
curl -X POST https://sss.example.com:9443/portal/api/files/upload \
  -H "Authorization: Bearer ${BUILD_TOKEN}" \
  -F "path=/acme-corp/" \
  -F "file=@build/release-v3.2.1.zip"

# Customer downloads via SFTP (read-only)
sftp acme-corp@sss.example.com
sftp> get release-v3.2.1.zip
Fetching /release-v3.2.1.zip ... done

Why Vendors Choose Stylus SFTP Server

Read-Only by Default

Customers can download but never modify or delete your release artifacts. A single configuration line enforces read-only access across all protocols.

Protocol Freedom

Customers connect via SFTP, FTPS, WebDAV, or the browser portal — whatever their network policy allows. One server, one set of credentials, five protocols.

CRM Visibility

Webhook notifications fire the instant a customer downloads a file. Your CRM knows which customers are on the latest release — without asking.

Per-Customer Quotas

Prevent bandwidth abuse with per-user disk quotas. Each customer gets a dedicated home directory with enforced storage limits across all access protocols.

Ready to Automate Software Distribution?

Download the free evaluation and start delivering releases to your customers in minutes.

Start Free Evaluation