Security
Credential protection, encrypted transport and explicit trust boundaries.
AeroFTP is designed with security at every layer. From Rust's memory safety guarantees to encrypted credential storage and credential isolation for AI agents, we take your data protection seriously.
Security Architecture
Memory Safety
Rust reduces memory-safety risks, but application and dependency code are not universally free from vulnerabilities.
Encrypted Credential Vault
The local vault uses AES-256-GCM per entry. Its unlocking passphrase normally uses the OS keyring; master-password mode adds Argon2id-based protection. A permission-protected on-disk fallback may store the passphrase beside the vault.
Credential Isolation
Saved-profile credentials are resolved by the backend. Tool results can still contain private paths and file content, and approval behavior depends on the mode and tool.
Desktop Privacy
The desktop has no product analytics or automatic crash reporting. Transfers, background services, update checks, optional AI/MCP endpoints and enabled discovery can make network requests.
TLS & SSH
Choose verified TLS or SSH for encrypted transport. Plain FTP is unencrypted. Configure certificate and host-key verification for your connection.
Optional Vault TOTP
TOTP setup requires verification. The implemented vault-unlock paths protect against consumed-step replay and persist throttling state. Security architecture and limitations.
Self-Hosted Continuous Audit
Vendor-independent pipeline, reproducible by anyone who clones the repository
Three independent sources
We aggregate cargo audit (RustSec database), npm audit (npm registry) and osv-scanner (Google OSV). osv-scanner catches GHSA advisories that have not yet landed in RustSec, giving cross-ecosystem coverage.
Documented suppression list
Every accepted advisory lives in src-tauri/.cargo/audit.toml with an inline threat model. Reviewers can audit each rationale and push back specifically. No blanket ignores.
Reviewers can verify, not just trust
Anyone can clone the repository, run npm run security:report, and produce a new report against the current dependency and advisory snapshots. There is no "trust me, the dashboard says zero" step. Published HTML reports are dated evidence, not a fresh result for the installed release.
No vendor lock-in
The pipeline is GPL-3.0 like the rest of AeroFTP and runs against open advisory databases. If any vendor ends a free tier, gates a feature or rate-limits APIs, the audit results stay reproducible from the repository alone.
Historical published snapshot
| Month | Version | Open | Suppressed (justified) | Report |
|---|---|---|---|---|
| June 2026 | v4.0.7 | 0 | 28 | HTML |
For the full reference (suppression list with rationale, historical archive, tooling choices) see docs.aeroftp.app/security/continuous-audit.