Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tablepro.app/llms.txt

Use this file to discover all available pages before exploring further.

Safe Mode

Safe Mode is a per-connection setting that controls how TablePro handles query execution. Each connection can have its own level, from unrestricted access to complete write protection. Set the Safe Mode level in the Customization pane of the connection form.

Levels

TablePro provides 6 graduated Safe Mode levels:
LevelIconWrite QueriesRead QueriesAuthentication
Silentlock.openExecute immediatelyExecute immediatelyNone
Alertexclamationmark.triangleConfirmation dialogExecute immediatelyNone
Alert (Full)exclamationmark.triangle.fillConfirmation dialogConfirmation dialogNone
Safe Modelock.shieldConfirmation + Touch IDExecute immediatelyTouch ID / password
Safe Mode (Full)lock.shield.fillConfirmation + Touch IDConfirmation + Touch IDTouch ID / password
Read Onlylock.fillBlocked entirelyExecute immediatelyNone
New connections default to Silent.

How It Works

Silent

No restrictions. Queries execute immediately. TablePro still shows its built-in dangerous query warning for DROP, TRUNCATE, and DELETE-without-WHERE statements.

Alert

A confirmation dialog appears before executing write queries (INSERT, UPDATE, DELETE, DROP, TRUNCATE, ALTER, etc.). The dialog shows a preview of the SQL to be executed. Read queries run without prompts.

Alert (Full)

Same as Alert, but the confirmation dialog appears for ALL queries, including SELECT statements. Useful when you want to review every query before execution.

Safe Mode

Like Alert, but after confirming the dialog, you must also authenticate with Touch ID or your macOS password. Falls back to system password if Touch ID is unavailable.

Safe Mode (Full)

Combines Alert (Full) and Safe Mode: every query requires both a confirmation dialog and Touch ID/password authentication.

Read Only

All write operations are blocked. The UI disables:
  • Inline cell editing
  • Adding, deleting, and duplicating rows
  • Table truncate and drop operations
  • Import functionality
Read queries (SELECT) execute normally.

NoSQL Databases

MongoDB, Redis, and other NoSQL databases can’t be parsed for read vs. write operations. All operations are treated as writes. In Alert/Safe Mode, every query triggers a confirmation. Read Only blocks everything.

Toolbar Badge

The current Safe Mode level appears as a badge in the toolbar (orange for Alert levels, red for Safe Mode/Read Only). Click it to change levels. Safe Mode gates apply to query execution, saving cell edits, table operations, and sidebar changes.

External Clients

Safe Mode runs inside the app on every query you execute. External clients (Raycast, Cursor, Claude Desktop, and other MCP clients) hit a separate gate first. A write request from an external client clears three locks in this order:
  1. External Clients (per-connection: Blocked / Read Only / Read & Write). Set in the connection form’s Advanced pane. A Read Only connection rejects any write before the request reaches the database.
  2. Token scope (per-integration, readOnly / readWrite / fullAccess). Issued by the pairing flow and bounded by External Access: effective permission is MIN(token.scope, connection.externalAccess).
  3. Safe Mode (per-query). The same rules on this page apply once the request has been routed to the connection. Touch ID prompts and confirmation dialogs still appear, even for queries originating from an external client.
DROP and TRUNCATE always need an explicit confirmation phrase via the confirm_destructive_operation tool, regardless of token scope. See External API security model.