[BREAKGLASS] A fast N-API-based Node.js addon wrapping sqlcipher and FTS5 segmenting APIs.
Go to file
2026-03-17 09:10:11 -07:00
.github/workflows chore: update npm in publish action 2025-11-25 13:20:21 -08:00
bench feat: cache parameter bindings 2025-09-05 10:00:29 -07:00
deps chore: put back INCRBLOB 2025-11-19 12:13:44 -08:00
docker v1.0.0 2025-03-12 13:44:29 -07:00
lib Update SqliteValue to expect a Uint8Array<ArrayBuffer> 2026-03-17 09:10:11 -07:00
patches v1.0.0 2025-03-12 13:44:29 -07:00
src feat: custom functions 2025-12-31 00:04:26 +01:00
test feat: custom functions 2025-12-31 00:04:26 +01:00
.gitignore v1.0.0 2025-03-12 13:44:29 -07:00
.nvmrc feat: cache parameter bindings 2025-09-05 10:00:29 -07:00
.prettierignore v1.0.0 2025-03-12 13:44:29 -07:00
.prettierrc.json v1.0.0 2025-03-12 13:44:29 -07:00
binding.gyp v1.0.0 2025-03-12 13:44:29 -07:00
docker-prebuildify.sh v1.0.0 2025-03-12 13:44:29 -07:00
Dockerfile v1.0.0 2025-03-12 13:44:29 -07:00
eslint.config.mjs v1.0.0 2025-03-12 13:44:29 -07:00
LICENSE v1.0.0 2025-03-12 13:44:29 -07:00
package.json 3.1.0 2025-12-31 00:04:35 +01:00
pnpm-lock.yaml v1.0.0 2025-03-12 13:44:29 -07:00
README.md Update sqlcipher to v4.10.0 2025-08-13 16:07:35 -07:00
rust-toolchain v1.0.0 2025-03-12 13:44:29 -07:00
tsconfig.json v1.0.0 2025-03-12 13:44:29 -07:00

@signalapp/sqlcipher

npm

A fast N-API-based Node.js addon wrapping sqlcipher and Signal-specific FTS5 segmenting APIs.

Usage

import Database from '@signalapp/sqlcipher';

const db = new Database('/path/to/db');

db.exec(`
  CREATE TABLE t (
    a INTEGER,
    b TEXT,
    c BLOB
  );
`);

const insert = db.prepare('INSERT INTO t (a, b, c) VALUES ($a, $b, $c)');
insert.run({ a: 1, b: 'hello', c: Buffer.from('world') });
insert.run({ a: 2, b: 'world', c: Buffer.from('hello') });

console.log(db.prepare('SELECT * FROM t').all());

Updating sqlcipher

On macOS:

cd deps/sqlcipher
export OPENSSL_PREFIX=`brew --prefix openssl`
export CFLAGS="-I $OPENSSL_PREFIX/include"
export LIBRARY_PATH="$LIBRARY_PATH:$OPENSSL_PREFIX/lib"
./update.sh v4.10.0
cd -

License

Copyright 2025 Signal Messenger, LLC.

Licensed under the AGPLv3: http://www.gnu.org/licenses/agpl-3.0.html