For a field-level encryption library, the strongest matches are google/tink (Tink is a general-purpose multi-language cryptography library focused on), guolindev/litepal (LitePal is an Android ORM with optional field-level encryption) and getsops/sops (SOPS encrypts individual values in structured configuration files but). mozilla/sops and microsoft/presidio round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Open-source libraries and tools for implementing granular data encryption and format-preserving cryptographic techniques in databases.
Tink is a multi-language cryptography library and security toolkit providing secure APIs for data encryption and digital signatures. It functions as a data encryption library and digital signature framework designed to prevent common implementation errors across different platforms and operating systems. The project serves as a cryptographic keyset manager, utilizing JSON for the storage, rotation, and serialization of keys to maintain consistency across various programming languages. It ensures identical cryptographic behavior globally by mapping language-specific libraries to a unified set
Tink is a general-purpose multi-language cryptography library focused on standard encryption and digital signatures, but it does not implement format-preserving encryption (FPE) algorithms like FF1 or FF3-1, so it is not the specialized tool for field-level database encryption with data type preservation you’re looking for.
LitePal is an object-relational mapping library and SQLite database wrapper for Android applications. It replaces raw SQL queries with a fluent interface and object mapping to simplify local data persistence and database management. The project provides a specialized system for automatically synchronizing database schemas based on model definitions to handle version updates. It also includes a storage solution for securing sensitive data through configurable field-level encryption. The library covers broad data storage and synchronization capabilities, including atomic transaction support, m
LitePal is an Android ORM with optional field-level encryption, but its encryption feature does not specifically guarantee format preservation or implement FPE algorithms (FF1/FF3‑1), which are the core requirements for a format‑preserving encryption tool.
This tool is a command-line utility designed to manage sensitive data by encrypting specific values within structured files such as YAML or JSON. By protecting only the sensitive portions of a file while leaving the structure intact, it ensures that configuration files remain readable for version control systems and automated workflows. The utility provides a secure development workflow by transparently decrypting files into memory for editing and automatically re-encrypting them upon saving, which prevents plaintext secrets from being written to the local disk. It supports a variety of encry
SOPS encrypts individual values in structured configuration files but does not implement format-preserving encryption algorithms (FF1/FF3-1) or preserve data types like length and character set, making it a secrets management tool rather than the field-level tokenization or masking solution you need.
Sops is a secrets encryption tool designed to encrypt and decrypt sensitive values within configuration files. It functions as a manager for secrets that integrates with cloud key vaults and PGP keys to secure data stored in version-controlled files. The tool utilizes structure-preserving encryption to encrypt individual values while keeping the overall file format and non-sensitive keys intact. It employs a KMS-backed encryption model, interfacing with external key management services from AWS, GCP, and Azure to handle cryptographic operations without exposing private keys locally. The proj
Sops encrypts individual values in configuration files while preserving file structure, but it does not implement format-preserving encryption algorithms (FF1/FF3-1) or target database fields, so it is not the tool this search is after.
Presidio is a PII detection and anonymization framework designed to identify and mask personally identifiable information in text. It functions as a PII recognition pipeline and a data masking engine, using a combination of machine learning, regular expressions, and rule-based logic to locate sensitive entities. The system acts as an NER model orchestrator, allowing for the integration of external named entity recognition models and PII detectors to support multi-language privacy scrubbing. It employs a plugin-based recognizer architecture that can be extended with custom recognizers, deny-li
Presidio is a PII detection and data masking framework, not a format-preserving encryption tool — it masks or redacts sensitive data rather than encrypting fields with FPE algorithms like FF1 or FF3-1, so it sits in the neighbouring category of data anonymization but lacks the core encryption capability required.
Kotlin SQL Framework
Exposed is a Kotlin SQL framework (ORM) for database access, not a dedicated format-preserving encryption library; while it may support column-level encryption through extensions, its primary purpose is query building and data mapping, not implementing FPE algorithms like FF1 or FF3-1.
SQLCipher is an encrypted SQLite database engine and secure relational database that provides transparent AES-256 encryption for database files and stored data. It functions as a cryptographic storage engine that requires a passphrase or binary key to unlock and access content. The engine ensures data confidentiality through page-level encryption and protects data integrity using cryptographic hashes to detect unauthorized modifications. It includes capabilities for encryption key rotation to update passphrases and secure memory locking to prevent sensitive keys from being swapped from RAM to
SQLCipher encrypts the entire SQLite database file at the page level with AES-256, not individual fields with format-preserving algorithms (FF1/FF3‑1) — so it provides database‑level encryption and key management but lacks the field‑granular FPE core this search asks for.
Jazz is a local-first relational database and synchronization framework designed for offline-capable applications. It functions as a reactive state management system that treats database records as the primary source of truth, automatically updating user interfaces in real time as underlying data changes. The project distinguishes itself through a collaborative data synchronization model that utilizes row-level versioning to track branching edit histories. It implements a security engine based on identity-claim row security, which enforces granular permissions on individual records, and suppo
Jazz is a local-first database with field-level encryption, but it does not implement format-preserving encryption (FPE) algorithms like FF1/FF3-1 or preserve data types and lengths, so it falls short of the specific encryption and masking functionality you are seeking.
Libsodium is a portable, C-based cryptographic library that provides a collection of modern primitives for encryption, decryption, digital signatures, password hashing, and secure key exchange. It is designed to facilitate secure communication and data integrity across diverse hardware architectures and operating systems. The library distinguishes itself by utilizing constant-time primitive execution to prevent side-channel attacks and employing memory-hard algorithms to increase the difficulty of brute-force password attacks. It abstracts complex mathematical operations into simplified inter
Libsodium is a general-purpose cryptographic library that lacks implementations of format-preserving encryption algorithms (FF1, FF3-1), so it cannot directly encrypt database fields while preserving original data formats.
The MongoDB Node.js Driver is a programmatic interface and NoSQL database client used to manage document storage and execute operations within a MongoDB database. It serves as an asynchronous database interface and connection manager that enables Node.js applications to integrate with MongoDB servers. The project implements client-side field encryption to secure sensitive data and queries locally before transmission. It also provides a BSON serialization library to convert JavaScript objects into a binary format for efficient storage and network transmission. The driver covers a broad range
The MongoDB Node.js driver implements client-side field-level encryption, but it uses standard AEAD encryption rather than format-preserving algorithms (FF1/FF3-1), so it does not preserve field format — fitting the broader encryption context but not this specific tokenization/masking need.
Vault is a centralized secrets management platform designed to secure, store, and control access to sensitive credentials such as API keys, passwords, certificates, and encryption keys. At its core, the system employs a barrier-based cryptographic sealing mechanism that requires an unseal process to decrypt internal storage, ensuring that sensitive data remains protected. It provides identity-based access control to manage granular permissions across distributed infrastructure, effectively centralizing security policies and authentication for both human and machine workloads. What distinguish
Vault is a centralized secrets manager that handles encryption keys and access control, but it does not natively implement format‑preserving encryption (FF1/FF3‑1) or directly encrypt individual database fields while preserving data formats, which is what this search requires.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| google/tink | 13.5K | Java | Apache-2.0 | |
| guolindev/litepal | 8.1K | Java | Apache-2.0 | |
| getsops/sops | 22.1K | Go | MPL-2.0 | |
| mozilla/sops | 22.1K | Go | MPL-2.0 | |
| microsoft/presidio | 7K | Python | mit | |
| jetbrains/exposed | 9.3K | Kotlin | Apache-2.0 | |
| sqlcipher/sqlcipher | 7.2K | C | BSD-3-Clause | |
| garden-co/jazz | 2.5K | TypeScript | MIT | |
| jedisct1/libsodium | 13.5K | C | other | |
| mongodb/node-mongodb-native | 10.2K | TypeScript | Apache-2.0 |