Security

How TrustMFT protects your data and your account.

Authentication

Password Policy

All TrustMFT accounts are protected by a strong password policy. Passwords must be at least:

  • 12 characters long
  • Contain at least one uppercase letter
  • Contain at least one lowercase letter
  • Contain at least one digit
  • Contain at least one special character (e.g., !@#$%)

Passwords are stored using ASP.NET Core Identity's adaptive hashing (PBKDF2 with HMAC-SHA512).

Multi-Factor Authentication (MFA)

TrustMFT supports TOTP-based MFA (Time-based One-Time Passwords), compatible with:

  • Google Authenticator
  • Microsoft Authenticator
  • Authy
  • Any RFC 6238-compliant authenticator app

Administrators can require MFA for all users in their tenant. When enabled, users who have not completed MFA setup will be redirected to the setup page on their next login.

Account Lockout

After 5 consecutive failed login attempts, an account is locked for 15 minutes. This applies to both the web portal and the SFTP server independently. The lockout resets automatically after the timeout period.

Session Security

Authentication cookies are configured with:

  • HttpOnly — not accessible by JavaScript
  • Secure — transmitted only over HTTPS
  • SameSite: Strict — protects against CSRF attacks

Data Encryption

In Transit

All web portal traffic is encrypted using TLS 1.2 or higher. SFTP connections use SSH encryption. Unencrypted connections are automatically redirected to HTTPS.

At Rest

Files are stored in Azure Blob Storage with server-side encryption (AES-256) enabled by default. Encryption keys are managed per tenant and stored in Azure Key Vault, providing hardware-backed key protection.

IP Allowlisting

Administrators can restrict client access to specific IP address ranges using CIDR notation. When an allowlist is configured for a client, any request originating from an IP address outside the allowed ranges will be denied with a 403 Forbidden response. This applies to both web portal and API access.

Both IPv4 and IPv6 CIDR ranges are supported (e.g., 10.0.0.0/8, 2001:db8::/32).

Malware Scanning

Every uploaded file is automatically submitted for malware scanning before it becomes available for download. During scanning, the file shows a Scanning status. Once cleared, it moves to Ready. Files that fail the scan are quarantined and marked Quarantined — they cannot be downloaded and are flagged for administrator review.

Role-Based Access Control

TrustMFT enforces strict role-based access at every layer:

Capability SuperAdmin TenantAdmin ClientUser
Manage all tenants
Manage clients & users
View audit logs
Upload & download files
Folder-level permissions Configurable per ClientUser by TenantAdmin

Audit Logging

TrustMFT maintains a comprehensive audit trail of platform activity, including:

  • Login and logout events (success and failure)
  • File uploads, downloads, and deletions
  • Folder creation and deletion
  • Administrative actions (user/client/tenant changes)
  • SFTP session events
  • Quarantine events

Each audit record captures the user, timestamp, IP address, protocol (HTTP/SFTP), and action outcome. Logs can be exported as CSV for compliance purposes.

Rate Limiting

To protect against abuse, TrustMFT enforces rate limits on key endpoints:

  • Login: 5 attempts per minute per IP
  • Sign Up: 3 attempts per 5 minutes per IP
  • File Upload: 10 requests per minute per user
  • General API: 60 requests per minute per user

Requests exceeding these limits receive a 429 Too Many Requests response.

Infrastructure Security

TrustMFT is hosted on Microsoft Azure and benefits from Azure's enterprise security posture:

  • Azure SQL Database with Active Directory authentication (no SQL passwords)
  • Azure Key Vault for secrets and encryption key management
  • Network isolation via Virtual Networks and subnets for the SFTP container
  • Application-level security headers enforced by middleware (CSP, HSTS, X-Frame-Options, etc.)
  • Application Insights for telemetry and anomaly detection

Security concerns? If you discover a potential security issue, please contact your administrator or reach out to our team directly.