Skip to content

[Drift] Tauri SDK adds optional SQLCipher at-rest encryption via encryptionKey (powersync-js #1038) #539

Description

@benitav

What's changing: The Tauri SDK gains an optional encryptionKey on TauriSQLOpenOptions. When set, the plugin keys every pooled SQLite connection with SQLCipher before any other statement runs, encrypting the on-disk database at rest. It's additive and opt-in — omitting it is unchanged from current behavior — and requires the Rust crate to be built with a new encryption Cargo feature (off by default).

High priority — existing docs are now inaccurate or incomplete

  • Data Encryption (/client-sdks/advanced/data-encryption) — the "At Rest Encryption" section lists the SDKs that currently support at-rest encryption (Dart/Flutter, React Native & Expo, JavaScript Web, Node.js, Kotlin, Swift) and closes with: "Support for encryption on other platforms is planned. In the meantime, let us know your needs and use cases on Discord." Tauri is absent from the list, and the "planned" framing becomes inaccurate once this PR ships — a developer needing Tauri at-rest encryption would read this page and conclude it isn't available or in progress, when it now is (as an opt-in feature).

For reviewer consideration — may be worth documenting

  • Tauri SDK Reference (/client-sdks/reference/tauri) is a candidate page for a setup/usage section on the new encryptionKey option and the encryption Cargo feature, but I did not verify further since the Data Encryption page above already clears the threshold. Note also that the underlying PR flags two open design questions (Cargo feature target-gating for mobile builds, and an undocumented libsqlite3-sys build-script priority behavior) that the author has asked the maintainer to weigh in on — worth checking whether those get resolved before this is considered stable enough to document.
  • PR state: open (not yet merged), submitted by an external contributor, labeled "Product Visibility." Maintainer review is still pending as of filing.

Source PR: powersync-ja/powersync-js#1038

Filed automatically by Claude Code (claude-sonnet-5). A human must verify the scope, prepare the docs PR, and publish it only once this update has been released.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions