Security
How Vista UAV protects customer data in SkySuite. Every practice below is drawn from our Information Security Policy, adopted 2026-08-30 and reviewed annually.
Data in transit
All external traffic is TLS-encrypted, managed through Cloudflare with origin certificates on our services. Internal service-to-service calls require internal auth tokens. User sessions use signed JWTs with fail-closed verification — a service refuses requests when the signing secret is unavailable rather than defaulting open.
Access controls
Server access is by SSH public-key only; password login is disabled. Administrative access travels over a private WireGuard mesh VPN, with public SSH ports firewalled on enrolled hosts. Application access is role-based, with administrative roles kept distinct from user accounts. Per-user data isolation is enforced at the API layer and verified with negative tests — authenticated cross-user probes are part of our release checks.
Secrets and payment data
Credentials live in a single access-controlled store outside of source code, never in repositories, logs, or documents. Payment card data is never stored or processed on our systems — Stripe hosts all card flows. Bank credentials are never seen or stored by our systems; Plaid Link performs the exchange and we hold only revocable access tokens. Integrations request only the scopes the product actually uses.
Change management
All code changes go through merge requests gated on CI: lint, automated tests, dependency auditing (pip-audit) and static security analysis (Bandit). Production deploys use only versioned, tagged releases through a controlled deploy script with health checks, and roll back to the previous tag. Direct edits on production servers are prohibited. Database changes run as versioned migrations, backed up before execution.
Monitoring and incident response
An external uptime watchdog on an independent host monitors production and alerts the owner by SMS on outage. Database health — replication, disk, clock, and backup jobs — is monitored with automated alerting that includes a dead-man check on the alerting path itself. Our incident process is: detect, contain by rolling back to the last good tag, fix through the normal gated pipeline, notify affected users when their data or service was materially impacted, and record the incident with its corrective action.
Backups and recovery
Databases are backed up on multiple tiers: continuous WAL streaming, scheduled dumps, and an off-host delayed replica. Recovery is exercised rather than assumed — automated point-in-time-recovery drills run weekly and alert on failure. Repositories are mirrored to the company source-control server on a schedule.
Vulnerability management
Operating-system security patches are applied automatically on production hosts, typically within 24–48 hours of release. Application dependencies are scanned on every code change. Our patching targets are critical within 72 hours, high within 7 days, and others with the next regular release. Runtimes and operating systems are kept on vendor-supported versions.
Sub-processors
Third-party processors are limited to Stripe (payments), Postmark (transactional email), Plaid (bank connectivity), Cloudflare (CDN and TLS), Cloudflare R2 (object storage), and RunPod (GPU compute, which receives no customer personal data). Unused vendor credentials are revoked.
Your data, and deleting it
You can delete your account at any time. A self-serve account-deletion engine removes your data across every platform service and revokes connected third-party access — for example removing the Plaid item — so upstream data flow stops. Backups age out on their rotation schedule and are used only for disaster recovery; if a restore occurs, deletions are re-applied.
Reporting a security issue
Send security reports to John A. Rodriguez, our accountable security contact, at [email protected]. Vista UAV is a small company: access to production is limited to the founder and the automated operations layer he directs, and no third-party contractors hold production access.