Security & Privacy

Built by a DBA who knows what it takes to earn trust. AutoDBA is designed with security-first principles so your diagnostic data stays safe from collection to analysis.

Open Source Script

Read every query before running. Nothing hidden.

Read-Only Access

VIEW SERVER STATE only. Cannot modify your server.

End-to-End Encrypted

RSA-2048 + AES-256 hybrid encryption

You Control Upload

No data leaves your network without explicit action

No Agent Required

Run on-demand. No persistent services on your server.

.autodba Encrypted Format

Your Data, Encrypted Before It Leaves

Our PowerShell wrapper encrypts your diagnostic snapshot before it ever leaves your network. Even if the file is intercepted in transit, only AutoDBA servers can decrypt it.

  • Hybrid RSA+AES encryption

    Random AES-256-CBC key per file, wrapped with RSA-2048-OAEP-SHA256

  • Gzip compression first

    70-90% size reduction before encryption. Faster uploads.

  • Public key embedded in script

    Private key exists only on AutoDBA servers. No shared secrets.

  • Inspect before encrypting

    Use -RawOutput to save the JSON alongside the encrypted file

Download Encryption Tools

How .autodba Encryption Works

1

Collect

T-SQL script reads system DMVs, outputs JSON

2

Compress

Gzip compression reduces size by 70-90%

3

Encrypt

AES-256-CBC encrypts the data, RSA-2048 wraps the key

4

Upload

Upload .autodba file — only our servers can decrypt

Binary format: [ADBA magic][version][RSA-encrypted AES key][IV][AES-CBC ciphertext]

What Data We Collect

Collected (Performance Metadata Only)

  • Server Configuration

    MAXDOP, memory settings, cost threshold, TempDB layout, Query Store status

  • Performance Metrics

    Wait statistics, page life expectancy, memory grants, buffer pool usage

  • Top Query Statistics

    Query text (anonymizable), CPU time, logical reads, execution counts, plan hashes

  • Index Analysis

    Missing index suggestions from SQL Server, unused index detection, size and usage stats

  • I/O & Storage

    Read/write latency, file sizes, autogrowth settings, TempDB usage

NEVER Collected

  • Table Data or Row Contents

    We never read SELECT * from your tables. The script only reads system DMVs.

  • Passwords & Credentials

    No connection strings, linked server credentials, or Database Mail content

  • Personally Identifiable Information

    No names, emails, SSNs, or PII. The script has no access to user tables.

  • SQL Agent Job Source Code

    Only job names, schedules, and last run status. No step definitions or T-SQL code.

  • Backup Paths & Network Shares

    No filesystem paths, UNC shares, or infrastructure topology

Built-In Query Anonymization

Concerned about query text? The diagnostic script includes three anonymization modes:

NONE

Full query text for best analysis accuracy

LITERALS

String/numeric literals replaced with @p

FULL

Query text fully hashed. Maximum privacy.

Technical Security Measures

Encryption at Source (.autodba)

When using our recommended PowerShell wrapper, your data is encrypted on your machine before upload:

  • AES-256-CBC symmetric encryption for the diagnostic data
  • RSA-2048 with OAEP-SHA256 padding to wrap the AES key
  • Fresh random AES key and IV generated per file
  • Public key embedded in the script; private key only on AutoDBA servers
  • Gzip compression before encryption for efficient transfer

Encryption in Transit

All communication uses HTTPS with TLS 1.2+. Combined with .autodba encryption, your data has two layers of protection during upload.

Application Security

Our application follows security best practices:

  • Input validation and parameterized queries (SQL injection prevention)
  • Cross-site scripting (XSS) protection
  • Session-based authentication with secure cookies
  • Rate limiting on all API endpoints
  • Organization-level data isolation (multi-tenant)

Database Security

Customer data is stored in PostgreSQL with:

  • Organization-scoped queries — customers can only access their own data
  • Hashed passwords with bcrypt (cost factor 12)
  • Minimal-privilege database user for the application
  • Regular automated backups

Required SQL Server Permissions

The AutoDBA diagnostic script requires only three permissions — all read-only:

-- Create a dedicated monitoring login
CREATE LOGIN [AutoDBA_Monitor] WITH PASSWORD = N'YourSecurePassword';
GO

-- Grant read-only permissions (that's it)
GRANT VIEW SERVER STATE TO [AutoDBA_Monitor];
GRANT VIEW ANY DEFINITION TO [AutoDBA_Monitor];
GO

-- Per database (for index stats collection):
-- USE [YourDatabase]
-- CREATE USER [AutoDBA_Monitor] FOR LOGIN [AutoDBA_Monitor];
-- GRANT VIEW DATABASE STATE TO [AutoDBA_Monitor];

What these permissions allow

  • Reading wait stats, performance counters, buffer pool info
  • Viewing query stats, execution plans, and cached plan info
  • Reading index definitions, usage stats, and missing index DMVs
  • Viewing server configuration (sys.configurations)

What these permissions do NOT allow

  • Modifying any data, tables, indexes, or stored procedures
  • Reading data from user tables (SELECT on any table)
  • Changing server configuration or security roles
  • Accessing credentials, linked servers, or Database Mail

Security Questions?

We're happy to answer any security or privacy questions. Our diagnostic script is fully open source — read every line before running it.