Sixta Connect

Data handling

The 60-second version. The free tier works only from what you paste; it has no connection to your database. There is no connection string, no agent, no tunnel. You paste an artifact (a query, an EXPLAIN plan, a DDL statement) and SIXTA returns analysis. That is the entire free-tier data flow. Connect Pro is the one opt-in exception, specified exhaustively below.

What happens to what you paste

One exception, clearly scoped: the sixta_diagnose tool runs a synthesis pass on Anthropic's Claude API. For that tool only, the artifacts you paste are sent to Anthropic (our subprocessor) to produce the diagnosis, under API terms that exclude training on your data; nothing is stored by us either way. The tool also works heuristics-only if you prefer your content never leaves our service: the synthesis pass can be disabled per request, and disabled entirely for enterprise plans. The three analysis tools (analyze_query, analyze_schema_change, explain_plan) never send your content anywhere.

One scoped storage exception: the CI batch cache. The /v1/analyze batch endpoint used by our CI/CD kits (not the /mcp tools that models and IDEs call) can cache the derived analysis of an extraction so an unchanged migration is not re-analyzed on every pipeline re-run. It stores the result only (findings, severity, report text), never the raw request, but that text quotes your SQL. Entries expire after 30 days, are keyed by a content hash, and keyed accounts are cached in their own private namespace (no account reads another's). Opt out per request with options.cache: false, and the /mcp surface has no cache at all.

The GitHub App's install-only reviews (opt-in by linking). When you install the SIXTA Connect GitHub App and link the installation to your account, pull requests on those repositories get their changed .sql files read through the GitHub API and analyzed exactly like a pasted batch: in memory, discarded after the verdict, subject to the same CI batch cache above. That is the whole read: changed .sql files, an optional .sixta.yml for engine hints, and workflow filenames (to defer to your own CI setup when present). No other repository content is read, nothing is cloned, and nothing you did not change in the pull request is fetched. An installation you never link is never read at all, and unlinking (or uninstalling the App) stops it immediately.

Connect Pro: the live read-only connection (paid, opt-in)

Applies only if your organization subscribed AND explicitly added a database connection.

What we record

Derived telemetry only. The schema is exhaustive; if it isn't listed here, we don't collect it.

FieldExample
Timestamp2026-06-10T12:00:00Z
Tool namesixta_analyze_query
Engine + version hintpostgresql, 16
Payload size bucket1k-16k (a range, never content)
Finding-category countsSMELL-DEEP-OFFSET: 1
Latency and outcome class42 ms, ok / rate_limited / invalid_input
Coarse client infoclient application name, coarse geo
Anonymous client hashsalted hash, for distinct counting, not identification
Key id + org domain (keyed)ab12cd34, acme.com (the account, never content)
Inference usage (diagnose only)model, A/B arm, token counts, estimated cost
Change record (/v1/analyze, keyed)content hash of the change (a digest, never the content), severity verdict, whether the live-duration escalation raised it (a boolean), context source (live / hints / none), rollback status (present / missing / irreversible), the repository identifier from CI (e.g. org/app-1, for routing)
Review record (signed-in and CI-attributed)per reviewed change: a salted hash of the reviewer identity (never the raw email or username), the same content hash, the surface it came from (CI or editor), the issuing API key id and billing subject (org domain or account) for provenance and opt-out scoping, tool, engine and version, verdict class (clean / flagged), severity, finding rule ids, the machine-derived lock-duration lower bound when computable (milliseconds, never invented), estimated vs live-measured, latest gate disposition
GitHub App installation link (opt-in, when you link one)the numeric installation id, the GitHub account name it belongs to, the linking email, and the linking time. Removable any time by unlinking in the portal; removed automatically when the App is uninstalled on GitHub

The review record is your personal history of what SIXTA said, never what you showed it. One row per (reviewer, change): re-runs and re-pastes update it, never multiply it. If you choose to share a quarterly wrapped, one random unguessable slug is stored for (your salted hash, quarter); the public page it unlocks shows counts only, and deleting your record deletes the slug with it. On the Keys page you can pause it per key, pause it account-wide (covering editor sign-in sessions and CI reviews attributed to your email), or delete everything recorded under your account email; entries attributed to a different email are removed via support.

Retention: telemetry 13 months; raw review-record rows 24 months (rolling, swept daily), with all-time totals derived at read time. Account deletion purges the review record.

Where processing happens

Primary deployment in the EU.

Questions? support@sixta.ai