From d7672b1b0447fc80207b9634848cdff23cec561e Mon Sep 17 00:00:00 2001 From: benitav Date: Thu, 20 Mar 2025 15:21:35 +0200 Subject: [PATCH 1/3] Mention web encryption --- resources/demo-apps-example-projects.mdx | 3 +++ usage/use-case-examples/data-encryption.mdx | 22 +++++++++++++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/resources/demo-apps-example-projects.mdx b/resources/demo-apps-example-projects.mdx index c7c43003..9dacf7e9 100644 --- a/resources/demo-apps-example-projects.mdx +++ b/resources/demo-apps-example-projects.mdx @@ -63,6 +63,9 @@ Example projects are listed under backend they use, but you can easily wire up y * [example-nextjs](https://github.com/powersync-ja/powersync-js/blob/main/demos/example-nextjs/README.md): A minimal example demonstrating setup with [Next.js](https://nextjs.org/). * [example-webpack](https://github.com/powersync-ja/powersync-js/blob/main/demos/example-webpack/README.md): A minimal example demonstrating bundling with [Webpack](https://webpack.js.org/). * [example-vite](https://github.com/powersync-ja/powersync-js/blob/main/demos/example-vite/README.md): A minimal example demonstrating bundling with [Vite](https://vitejs.dev/). + + #### Other + * [example-vite-encryption](https://github.com/powersync-ja/powersync-js/blob/main/demos/example-vite-encryption/README.md): A minimal example demonstrating encryption of the web database. diff --git a/usage/use-case-examples/data-encryption.mdx b/usage/use-case-examples/data-encryption.mdx index d3f25e8b..5454f60a 100644 --- a/usage/use-case-examples/data-encryption.mdx +++ b/usage/use-case-examples/data-encryption.mdx @@ -8,12 +8,12 @@ Data is always encrypted in transit using TLS — both between the client and Po ### At Rest Encryption -The client-side database can be encrypted at rest using [SQLCipher](https://www.zetetic.net/sqlcipher/). +The client-side database can be encrypted at rest using . This is currently available for: -SQLCipher support is available for Flutter through the `powersync_sqlcipher` SDK. See usage details in the package README: +[SQLCipher](https://www.zetetic.net/sqlcipher/) support is available for Flutter through the `powersync_sqlcipher` SDK. See usage details in the package README: - SQLCipher support is available for React Native through the `@powersync/op-sqlite` package. See usage details in the package README: + [SQLCipher](https://www.zetetic.net/sqlcipher/) support is available for PowerSync's React Native SDK through the `@powersync/op-sqlite` package. See usage details in the package README: + + The Web SDK uses the [ChaCha20 cipher algorithm by default](https://utelle.github.io/SQLite3MultipleCiphers/docs/ciphers/cipher_chacha20/). See usage details in the package README: + + + Additionally, a minimal example demonstrating encryption of the web database is available [here](https://github.com/powersync-ja/powersync-js/tree/main/demos/example-vite-encryption). + + + + Support for encryption on other platforms is planned. In the meantime, let us know with your needs and use cases on [Discord](https://discord.gg/powersync). + -Support for SQLCipher on other platforms is planned. In the meantime, let us know with your needs and use cases on [Discord](https://discord.gg/powersync). ### End-to-end Encryption From 8281b6eafd2415b5fa926dd7d715373032c4972b Mon Sep 17 00:00:00 2001 From: benitav Date: Thu, 20 Mar 2025 15:30:30 +0200 Subject: [PATCH 2/3] Add encryption to SDK sidebars --- client-sdk-references/flutter/encryption.mdx | 4 ++++ client-sdk-references/javascript-web/encryption.mdx | 4 ++++ client-sdk-references/react-native-and-expo/encryption.mdx | 4 ++++ mint.json | 3 +++ usage/use-case-examples/data-encryption.mdx | 4 ++-- 5 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 client-sdk-references/flutter/encryption.mdx create mode 100644 client-sdk-references/javascript-web/encryption.mdx create mode 100644 client-sdk-references/react-native-and-expo/encryption.mdx diff --git a/client-sdk-references/flutter/encryption.mdx b/client-sdk-references/flutter/encryption.mdx new file mode 100644 index 00000000..9399d3a9 --- /dev/null +++ b/client-sdk-references/flutter/encryption.mdx @@ -0,0 +1,4 @@ +--- +title: Encryption +url: /usage/use-case-examples/data-encryption +--- diff --git a/client-sdk-references/javascript-web/encryption.mdx b/client-sdk-references/javascript-web/encryption.mdx new file mode 100644 index 00000000..9399d3a9 --- /dev/null +++ b/client-sdk-references/javascript-web/encryption.mdx @@ -0,0 +1,4 @@ +--- +title: Encryption +url: /usage/use-case-examples/data-encryption +--- diff --git a/client-sdk-references/react-native-and-expo/encryption.mdx b/client-sdk-references/react-native-and-expo/encryption.mdx new file mode 100644 index 00000000..9399d3a9 --- /dev/null +++ b/client-sdk-references/react-native-and-expo/encryption.mdx @@ -0,0 +1,4 @@ +--- +title: Encryption +url: /usage/use-case-examples/data-encryption +--- diff --git a/mint.json b/mint.json index f9ceb703..f4465df0 100644 --- a/mint.json +++ b/mint.json @@ -290,6 +290,7 @@ "client-sdk-references/flutter/flutter-orm-support", "client-sdk-references/flutter/usage-examples", "client-sdk-references/flutter/unit-testing", + "client-sdk-references/flutter/encryption", "client-sdk-references/flutter/api-reference" ] }, @@ -301,6 +302,7 @@ "client-sdk-references/react-native-and-expo/react-native-web-support", "client-sdk-references/react-native-and-expo/javascript-orm-support", "client-sdk-references/react-native-and-expo/usage-examples", + "client-sdk-references/react-native-and-expo/encryption", "client-sdk-references/react-native-and-expo/api-reference" ] }, @@ -319,6 +321,7 @@ }, "client-sdk-references/javascript-web/javascript-spa-frameworks", "client-sdk-references/javascript-web/usage-examples", + "client-sdk-references/javascript-web/encryption", "client-sdk-references/javascript-web/api-reference" ] }, diff --git a/usage/use-case-examples/data-encryption.mdx b/usage/use-case-examples/data-encryption.mdx index 5454f60a..03624072 100644 --- a/usage/use-case-examples/data-encryption.mdx +++ b/usage/use-case-examples/data-encryption.mdx @@ -40,14 +40,14 @@ This is currently available for: Additionally, a minimal example demonstrating encryption of the web database is available [here](https://github.com/powersync-ja/powersync-js/tree/main/demos/example-vite-encryption). - Support for encryption on other platforms is planned. In the meantime, let us know with your needs and use cases on [Discord](https://discord.gg/powersync). + Support for encryption on other platforms is planned. In the meantime, let us know your needs and use cases on [Discord](https://discord.gg/powersync). From 2baa42fae96071cead78b85f4e4a6cc7b6484f0f Mon Sep 17 00:00:00 2001 From: benitav Date: Thu, 20 Mar 2025 15:31:37 +0200 Subject: [PATCH 3/3] Reword --- usage/use-case-examples/data-encryption.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/usage/use-case-examples/data-encryption.mdx b/usage/use-case-examples/data-encryption.mdx index 03624072..006a8214 100644 --- a/usage/use-case-examples/data-encryption.mdx +++ b/usage/use-case-examples/data-encryption.mdx @@ -8,9 +8,7 @@ Data is always encrypted in transit using TLS — both between the client and Po ### At Rest Encryption -The client-side database can be encrypted at rest using . - -This is currently available for: +The client-side database can be encrypted at rest. This is currently available for: [SQLCipher](https://www.zetetic.net/sqlcipher/) support is available for Flutter through the `powersync_sqlcipher` SDK. See usage details in the package README: