FIPS 140-2 validated cryptography is required for organizations operating in regulated environments:
SQLCipher Enterprise Edition offers optional support for FIPS 140-2 validated encryption, available upon request. FIPS 140-2 compliance is a somewhat complex and nuanced topic; this page provides additional background and clarification.
FIPS 140-2 is the U.S. government standard ensuring cryptographic modules meet stringent security levels for data encryption. Our validation was granted by the Cryptographic Module Validation Program (CMVP), operated jointly by the United States National Institute of Standards and Technology (NIST) and the Canadian Centre for Cyber Security (CCCS) under certificates:
A common question from organizations evaluating FIPS compliance is whether they can rely on operating system cryptographic providers instead of SQLCipher FIPS. The answer is more complex than it might initially appear, and the implications vary significantly by platform.
Even if your operating system provides FIPS validated cryptography, there is no guarantee that SQLCipher would be using it. Key considerations include the following:
SQLCipher FIPS is specifically designed to address this gap. It provides a validated cryptographic module that is directly integrated into SQLCipher itself, ensuring that all database encryption operations use validated cryptography regardless of the underlying platform configuration. This eliminates ambiguity in compliance assessments and provides clear documentation that your encryption solution meets federal requirements.
The situation on iOS and macOS deserves particular attention. On Apple platforms, SQLCipher does use Common Crypto, Apple's native cryptographic library. Some versions of iOS and macOS have received FIPS 140-2 validation for their Common Crypto implementations. However, this creates a compliance challenge that many organizations overlook. New operating system releases typically do not have FIPS validation at launch, and the validation process for new OS versions can take months or even years.
If you're relying on the OS cryptographic provider instead of SQLCipher FIPS, it can create a serious compliance gap. While some iOS and macOS versions are FIPS validated, new releases usually aren't. As a timely example, if a user upgraded to a newly released iOS or macOS version, an application using standard SQLCipher would no longer be using a validated cryptographic module until that specific OS version received its own FIPS validation, a process that could take considerable time or might not occur at all for every minor release.
The only scenario where it is safe to depend on OS FIPS validation for Apple platforms is when you have complete control over the entire fleet of devices your application will be deployed to, including which specific OS version is installed and ensuring that only FIPS validated OS versions are used. For most application developers, this level of control is simply not feasible. Enterprise applications distributed through the App Store, applications used by customers across diverse environments, or any scenario where end users can update their devices independently all fall outside this narrow safe zone.
SQLCipher FIPS eliminates this uncertainty. Because the FIPS validated cryptographic module is embedded within SQLCipher itself and validated for use on iOS and macOS as operating system platforms, not specific versions, your application maintains FIPS compliance regardless of which iOS or macOS version your users are running. This provides a sustainable, maintainable compliance posture that doesn't require tracking Apple's validation status or restricting user OS updates.
A common point of confusion when evaluating database encryption solutions is the distinction between software that uses FIPS-approved algorithms and software that incorporates a FIPS-validated cryptographic module. This is an important technical and compliance distinction.
| FIPS-Approved Algorithms | FIPS-Validated Cryptographic Module | |
|---|---|---|
| Definition | Specific cryptographic algorithms (AES-256, SHA-256, HMAC-SHA-256) approved by NIST as meeting federal standards | A complete software or hardware component that has undergone rigorous testing and formal validation by an accredited laboratory |
| Who uses it | Many software products, including all versions of SQLCipher and other encrypted SQLite solutions | SQLCipher Enterprise FIPS (the only SQLite-compatible solution we are aware of) |
| Testing process | Algorithms are theoretically reviewed and approved by NIST | Complete implementation tested by accredited laboratory under the Cryptographic Module Validation Program (CMVP) |
| Scope | Only specific algorithms are used | Proper key management, secure random number generation, Power On Self Tests (POST), runtime integrity checks, and adherence to operational procedures |
| Compliance value | Necessary but not sufficient for FIPS compliance | Provides independent verification that the complete implementation meets federal security standards |
SQLCipher Enterprise FIPS is the only SQLite-compatible database encryption solution we are aware of that integrates a FIPS-validated cryptographic module. This validation provides organizations operating in regulated environments with the assurance that their encryption solution has been independently verified to meet federal security standards, not simply that it uses approved algorithms.
SQLCipher Enterprise FIPS is the first widely adopted database encryption tool to offer a SQLite-compatible API with a FIPS validated cryptographic module. SQLCipher has a decade-long history of supporting FIPS 140-2 validation and FedRAMP requirements for numerous U.S. federal and state agencies, the Department of Defense, and customers in regulated utilities, finance, and healthcare industries. These certificates and the corresponding cryptographic module and in SQLCipher Enterprise FIPS underscores our commitment to meeting the highest security standards for our customers.
In order to meet the needs of customers that require a FIPS 140-2 validated solution, we offer special SQLCipher Enterprise packages that are linked against a specific cryptographic provider that includes a cryptographic module that has undergone the FIPS 140-2 validation process.
If your application is already using SQLCipher then integration is typically very easy. The API is virtually identical to standard SQLCipher. There are only two simple calls for the FIPS mode check and license code. As part of the SQLCipher Enterprise program, licensing customers receive the following:
Beyond FIPS 140-2 compliance and full-database AES-256 encryption, SQLCipher Enterprise FIPS offers value-level encryption, encrypted virtual tables, performance counters, and optimization statistics. This ensures unparalleled security and performance, keeping application data secure and accessible only to authorized users.
By using this special SQLCipher package an application can enable and verify the FIPS status of SQLCipher at runtime. As long as SQLCipher is the only security library in use, an application can make an attestation about the validation status which will satisfy organizations with FIPS 140-2 requirements, for example like the following:
My App™ uses an embedded FIPS 140-2-validated cryptographic module running on 32 and 64 bit Windows Operating System platforms per FIPS 140-2 Implementation Guidance section G.5 guidelines.
For the avoidance of doubt, the cryptographic provider referred to above is a software library included with SQLCipher, not a separate hardware component.
SQLCipher's encryption calls would only be considered FIPS 140-2 validated if you are using the special SQLCipher FIPS builds. Standard SQLCipher builds do not use a FIPS 140-2 validated cryptographic module, regardless of any external operating system settings. Key points to understand:
Still have questions? Please reach out to us and we'll get back to you soon.