| Version | Supported |
|---|---|
| 3.5.x | Yes (current) |
| 3.4.x | Security fixes only |
| 3.1.x | End of Life |
| < 3.0 | No |
AeroFTP follows a defense-in-depth security model across six layers. For the complete architecture with trust boundary diagrams and protocol-level details, see the Security Overview on the documentation site.
All sensitive data (server passwords, OAuth tokens, API keys, application configuration) is stored in an encrypted vault (vault.db) using AES-256-GCM with per-entry random nonces. The vault key is derived via HKDF-SHA256 from a 512-bit CSPRNG passphrase.
| Mode | How the passphrase is protected |
|---|---|
| Default | Stored in the OS keyring (GNOME Keyring, macOS Keychain, Windows Credential Manager) |
| Master password | Encrypted with Argon2id (128 MiB, t=4, p=4) + AES-256-GCM |
| First launch without keyring | Bootstraps directly into master password mode |
The vault never falls back to plaintext storage. File permissions are hardened to 0600 (Unix) / owner-only ACL (Windows).
For the complete credential lifecycle, import/export, and OS keyring integration, see Credential Management.
AeroFTP uses encryption at multiple layers:
| Layer | Algorithm | Purpose |
|---|---|---|
| AeroVault v2 containers | AES-256-GCM-SIV (RFC 8452) + Argon2id + HMAC-SHA512 | Encrypted file containers with nonce misuse resistance |
| Archive encryption | AES-256 (ZIP, 7z) | Password-protected archives |
| rclone crypt interoperability | XSalsa20-Poly1305 content + EME filename decryption | Compatible access to existing rclone crypt remotes |
| Credential storage | AES-256-GCM + HKDF-SHA256 | Per-entry vault encryption |
| Transport | TLS 1.2/1.3, SSH | Wire encryption for all protocols |
Key derivation parameters exceed OWASP 2024 minimums (128 MiB vs 47 MiB, 4 iterations vs 1). AeroVault v2 is available as the standalone aerovault crate on crates.io.
AeroFTP also documents compatibility workflows for existing rclone crypt remotes. This is separate from AeroVault because the format and threat model are defined by rclone, not by AeroFTP.
- AeroVault and the AeroFTP crypt overlay are AeroFTP-native encryption layers
rclone cryptsupport is about browsing and decrypting already encrypted rclone-backed storage
See the public docs for details:
For the full encryption architecture, cipher comparison tables, and AeroVault v2 format specification, see Encryption.
AeroFTP supports 7 transport protocols and 20+ native provider integrations with appropriate transport security:
| Category | Protocols |
|---|---|
| End-to-end encrypted | MEGA.nz, Filen, Internxt (client-side AES, zero-knowledge) |
| OAuth2 with PKCE | Google Drive, Dropbox, OneDrive, Box, Zoho WorkDrive, kDrive, Koofr, Internxt |
| TLS/HTTPS | S3, WebDAV, Azure Blob, pCloud, FileLu, Jottacloud, OpenDrive, Yandex Disk |
| API Token over HTTPS | GitHub, GitLab (PAT/Project Access Token, API v4) |
| SSH | SFTP with TOFU host key verification |
| Configurable TLS | FTP/FTPS (Explicit, Implicit, opportunistic) |
Plain FTP connections display a prominent insecure warning badge. WebDAV supports RFC 2617 Digest Authentication with automatic detection. SFTP uses Trust On First Use host key verification with visual fingerprint dialog and MITM change detection.
AeroAgent (52 tools) operates under backend-enforced security controls:
- Grant system: Mutative tools require a cryptographic grant verified by the Rust backend
- Native OS confirmation: Grant approval triggers an operating system dialog that cannot be bypassed by web frontend compromise or prompt injection
- Credential isolation: AI models never receive raw credentials; the backend authenticates internally
- Shell denylist: 35 regex patterns block dangerous commands
- Path validation: Null bytes, traversal, and system paths blocked at the backend level
For the complete AI security model with grant properties, tool classification, and agent modes, see AI Security.
All release artifacts are signed with Sigstore Cosign via GitHub Actions OIDC keyless signing:
- Client-side verification: The app verifies
.sigstore.jsonbundles against the CI workflow identity before installing updates - Linux hardening: The privileged update helper re-verifies SHA-256 before executing
dpkg/rpm - Plugin registry: Remote installation disabled until cryptographic registry authentication is implemented (fail-closed)
- Aikido Security: SAST, SCA, secrets detection, IaC scanning - daily automated scans
- Socket.dev: Supply chain SCA monitoring on every push - dependency risk scoring, typosquatting detection
- Snyk: Continuous vulnerability scanning for npm and Cargo dependencies with automated fix PRs
For Sigstore verification commands and CI/CD security controls, see Supply Chain Security.
zeroizeandsecrecycrates clear passwords, keys, and tokens from memory after use- All provider credentials wrapped in
SecretStringacross every provider integration - Rust ownership model prevents use-after-free and buffer overflows
- Passwords are never logged or written to disk in plain text
- Activity log and UI credential masking: usernames, emails, and access keys are masked at the source (
maskCredential) before reaching log entries or display subtitles, preventing accidental exposure in bug reports and screenshots
Optional RFC 6238 TOTP second factor for vault access with exponential rate limiting (5 failures to 15-minute lockout cap). Setup requires initial code verification before enforcement activates.
For the complete TOTP implementation, rate limiting table, and security properties, see TOTP 2FA.
AeroFTP collects no telemetry, sends no analytics, and makes no network requests beyond user-initiated connections. All credential storage is local. No cloud accounts or external services are involved in authentication or settings.
For the complete privacy model, data storage locations, and deletion instructions, see Privacy.
| Date | Auditors | Result | Report |
|---|---|---|---|
| March 2026 | GPT 5.4 + Claude Opus 4.6 | Desktop security: 4 findings, all remediated | |
| March 2026 | Aikido Security | Top 5% benchmark, 0 open issues, OWASP/ISO/CIS/NIS2/GDPR | |
| February 2026 | Aikido Security | Top 5% benchmark, 0 open issues | |
| v2.9.5 | Claude Opus 4.6 + GPT 5.4 | 117 findings, grade A- | |
| v2.8.7 | Claude Opus 4.6 + GPT 5.4 | 45+ findings resolved, grade A- | |
| v2.4.0 | 12 auditors, 4 phases | Provider integration audit, grade A- |
Cumulative: 300+ findings identified across 9 audits, all critical and high findings remediated. For the complete audit history with finding details, see Security Audits.
The March 2026 Aikido Security audit verified compliance against the following frameworks with 0 open issues:
- OWASP Top 10 - injection prevention, XSS mitigation, credential isolation, path validation
- ISO 27001 - encryption controls, access management, credential lifecycle
- CIS Benchmarks - file permission hardening, transport security, supply chain controls
- NIS2 Directive - incident response readiness, supply chain security, encryption at rest and in transit
- GDPR - no telemetry, no analytics, no third-party data sharing, local-only storage, no cloud account required
These are verified compliance checks, not formal certifications.
| ID | Severity | Status | Details |
|---|---|---|---|
| CVE-2025-54804 | Medium | Resolved | russh SFTP, fixed by upgrade to v0.57 |
Do not report security vulnerabilities through public GitHub issues.
Report via GitHub Security Advisories. We respond within 48 hours.
For the full disclosure policy, bug bounty scope, and Security Hall of Fame, see Vulnerability Disclosure.
AeroFTP v3.6.8 - 28 April 2026