Security & Trust

How Veesker protects your data.

No auto-commit. No background execution. No plaintext credentials. Every claim on this page is verifiable in the Apache 2.0 source.

Execution safety

  • User-initiated only. Every SQL statement requires you to click Run or press the execute shortcut. Veesker never executes SQL in the background.
  • No auto-commit. oracledb.autoCommit is set to false globally and repeated on every execute call. Every transaction requires an explicit COMMIT or ROLLBACK.
  • No scheduled or timed queries. Veesker has no background jobs, cron logic, or deferred execution of any kind.
  • Unsafe-DML confirmations. Bare DELETE or UPDATE without a WHERE clause triggers a confirmation modal before reaching Oracle.

Credential safety

  • OS keychain only. Passwords are stored in Windows Credential Manager, macOS Keychain, or Linux libsecret — never in SQLite, log files, or audit files.
  • Local IPC only. Credentials travel only over a localhost stdin/stdout pipe (the Tauri IPC channel) to open Oracle sessions. They never leave your machine.
  • Cloud Edition AI never receives passwords. The Sheep assistant receives schema metadata and SQL — never connection strings or wallet files.

Audit trail

  • Every executed statement is logged. Entries go to <app_data>/audit/YYYY-MM-DD.jsonl and include timestamp, host, username, SQL, success/failure, row count, and elapsed time.
  • Written by the native host, not the renderer. The audit write happens in the Rust layer (src-tauri/src/commands.rs → write_audit_entry()). A compromised WebView renderer cannot suppress it.
  • You own your data. Audit files stay on your filesystem. Veesker never ships them to a remote server in Community Edition.

Per-connection safety guards

  • Read-only mode — the sidecar (sidecar/src/oracle.ts → enforceSafetyForStatement()) rejects any non-SELECT before it reaches Oracle. This guard is server-side; the UI layer cannot bypass it.
  • Environment tagging — dev / staging / prod labels drive UI affordances and confirm gates.
  • Statement timeouts — per-connection cap prevents runaway queries from locking your database.

AI transparency — what Sheep sends to Anthropic.

The Sheep AI assistant suggests SQL and explains results. It never executes anything autonomously. An explicit disclosure modal is shown before AI can be used on any connection.

What Sheep sends to api.anthropic.com

  • Schema names, table names, column names
  • SQL you write and submit for analysis
  • Query result samples (up to 50 rows by default)
  • Oracle database version string

What Sheep never sends

  • Passwords or connection strings
  • Wallet files or certificate data
  • Full table dumps or bulk data exports
  • Data from schemas marked as sensitive (Cloud Edition)

AI calls on production-tagged connections require per-session acknowledgement enforced in the sidecar — not just a UI prompt.

Apache 2.0 — audit the code yourself.

All safety-critical code is in the open-source Community Edition repository. You can read, audit, and compile every line that touches your Oracle database.

sidecar/src/oracle.ts — all Oracle operations, safety guards, auto-commit enforcement
sidecar/src/sql-kind.ts — SQL classification and unsafe DML detection
sidecar/src/ai.ts — AI integration, what data is sent, production gate
src-tauri/src/commands.rs — audit logging, credential handling, SSRF protections

Responsible disclosure

Found a vulnerability? Report it privately — we treat security reports as priority work.

How to report

Our commitment

  • Acknowledgement within 72 hours.
  • Fix timeline within 7 days for critical issues.
  • Credit in release notes (or anonymous if you prefer).
  • No legal action against good-faith research.