Documentation/Privacy & Security

Privacy

Privacy & Security

Privacy

Tablen is designed with privacy as a core principle. Your data stays on your machine, passwords are secured in the macOS Keychain, and analytics are entirely opt-in.

Data Storage

Local Storage

All Tablen data is stored locally on your Mac:

~/Library/Application Support/DBClient/

Files stored locally:

File Content
connections.json Saved connection configurations (no passwords)
groups.json Connection group definitions
query_history.json Recent query history
tabs.json Open tab state
favorites.json Favorite queries
saved_queries.json Saved queries
audit_log.json Local audit log
plugins/ Installed plugins

Password Security

Passwords are stored exclusively in the macOS Keychain:

  • Never written to JSON files
  • Never stored in UserDefaults
  • Each connection's password is a separate Keychain item
  • Keychain errors are handled explicitly with user-visible messages
  • Keychain items are deleted when connections are deleted

No Cloud Data by Default

  • No data is sent to any server unless you explicitly opt in
  • iCloud Sync is opt-in and only syncs connections and queries (never passwords)
  • Crash reporting is opt-in

Crash Reporting (Sentry)

Opt-In Only

Crash reporting via Sentry is completely opt-in:

  1. Go to Settings > General > Privacy
  2. Toggle "Send crash reports and performance data"
  3. Default: Off

What Is Sent (When Enabled)

  • Anonymous crash reports (stack traces)
  • Performance metrics (app launch time, etc.)
  • App version and macOS version
  • No personal data
  • No database content
  • No connection details
  • No SQL queries

Disabling

  • Toggle off in Settings > General > Privacy
  • Disabling requires an app restart to take full effect
  • No data is sent after disabling

Delete All My Data

Complete data deletion is available:

  1. Go to Settings > General > Data
  2. Click "Delete All My Data"
  3. Confirm the action

What Is Deleted

  • All connection configurations
  • All saved passwords (Keychain)
  • All query history
  • All saved queries and favorites
  • All tab state
  • All audit logs
  • All UserDefaults preferences
  • All group definitions

After Deletion

  • A restart is recommended for changes to take full effect
  • The app returns to its initial state (as if freshly installed)
  • This action cannot be undone

Network Communication

When Tablen Connects to External Servers

Action When Data Sent
Database connections User-initiated Connection credentials (to your database only)
License validation App launch, feature access Machine fingerprint, license key
Plugin marketplace User-initiated Plugin slug for install/search
iCloud Sync When enabled Connections and queries (no passwords)
Crash reports When enabled Anonymous crash data
Update checks When enabled App version
Team features Team plan users Team-related data

When Tablen Does NOT Connect

  • Normal SQL editing and execution (local processing)
  • Plugin management (local plugins)
  • Settings changes
  • Theme switching
  • Data profiling (queries run on your database, not sent elsewhere)

App Sandbox

Tablen runs in the macOS App Sandbox:

  • Outgoing network connections: Enabled (required for database connections)
  • User-selected files: Enabled (for SQLite, DuckDB, SSH keys, exports)
  • No file system access beyond sandbox boundaries and user-selected files
  • Sandbox settings are in the Xcode build settings (not entitlements file)

DNS and Localhost

  • "localhost" is resolved to "127.0.0.1" to bypass sandbox DNS restrictions
  • This ensures reliable connections to local databases

AI Privacy

When AI features become available:

  • AI features will be opt-in
  • Database schema may be shared with AI providers for context
  • Actual database data will not be sent
  • AI provider configuration will be under your control

Team Plan Privacy

For Team plan subscribers:

  • Team features require server communication
  • Shared connections exclude passwords
  • Data masking rules are fetched from the server
  • Approval workflow requires server communication
  • Role verification uses the Tablen server

Third-Party Dependencies

Dependency Purpose Data Sent
GRDB.swift SQLite driver None (local)
PostgresNIO PostgreSQL driver Database credentials (to your DB)
MySQLNIO MySQL driver Database credentials (to your DB)
Sentry Crash reporting Anonymous crashes (opt-in)
Paddle Licensing License validation data

Compliance Considerations

  • Tablen stores data locally by default, supporting data sovereignty requirements
  • The "Delete All My Data" function supports right-to-erasure requests
  • Audit logging supports compliance requirements
  • Data masking (Team plan) supports data protection regulations
  • No personal data processing occurs without user consent
Was this page helpful?
Report an issue