PAGES
← all tools
◆ Data Security & DLP

Themis

0.15.7 open-source

Themis is an open-source cryptographic services library for securing data during authentication, storage, messaging, and network exchange.

Summary

Themis is an open-source cryptographic library that gives developers secure storage, messaging, and session primitives without requiring them to implement cryptography themselves. It is free to use, and it works as a library imported directly into an application's codebase rather than run as a service, with bindings for iOS, Android, React Native, desktop Java, C/C++, Node.js, Python, Ruby, PHP, Go, Rust, and WASMWASMA binary instruction format for a stack-based virtual machine, maintained by the W3C, that lets code compiled from any language run at near-native speed inside a sandboxed environment across browsers and servers.. It targets application developers building multi-platform apps who need encryption handled correctly but don't have in-house cryptographers, which the README underscores by describing it as "made by cryptographers for developers." It sits in the applied cryptography space alongside general-purpose crypto libraries, rather than any single named competitor. First committed in 2014 and maintained by 43 contributors, the project has slowed in recent activity, with only 2 commits in the past year and its last release over 1000 days ago.

Themis is an open-source cryptographic services library for securing data during authentication, storage, messaging, and network exchange.

How Themis helps

How do I encrypt data for storage without designing my own crypto scheme?

supplies a ready-made secure cell primitive that handles key derivation, encryption, and authentication under the hood, so the application code only passes in data and a key

How do I let two endpoints exchange encrypted messages without building a handshake protocol?

provides a secure messaging primitive that encrypts and authenticates each message between a known sender and recipient using their key pair

How do I keep a session encrypted across multiple exchanges without managing key rotation myself?

offers a secure session primitive that establishes and maintains an ongoing encrypted channel between two parties across calls

How do I check whether two parties hold the same secret without ever sending it over the wire?

includes a secure comparison primitive that verifies a shared secret matches on both ends without transmitting the value itself

Can I use the same cryptographic approach across every platform my app ships on?

exposes the same primitives through bindings for iOS, Android, React Native, desktop Java, C/C++, Node.js, Python, Ruby, PHP, Go, Rust, and WASM, so mobile, desktop, and server code call the same operations

Is this library still receiving fixes for current platform requirements?

recent releases only address packaging and platform compliance details, such as an App Store privacy manifest and an iOS deployment target bump, with just 2 commits in the past year and no release in over 1000 days

all 20 features, with the evidence for each →

Languages

Not documented

Features

20 capabilities

Built from Themis's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What Themis offers you

  • Python scripting support2
  • Scripting language support2
  • Command-line interface1
All capabilities 20 capabilities
BoringSSL Support shipped Provides builds of the Themis core library and associated packages linked against BoringSSL. 7 releases · 2 other sources · first seen Nov 2015

release 7 total

  • Adds libthemis-boringssl packages built via make deb/rpm ENGINE=boringssl 0.14.0 · Dec 2021 · source · release history
  • Added BoringSSL crypto-engine support for CocoaPod via pod 'themis/themis-boringssl' 0.11.0 · Mar 2019 · source · release history
  • Adds phpthemis package support so PHPThemis can be installed without compiling from sources 0.10.0 · Feb 2018 · source · release history
  • Adds support for PHP 7.0, 7.1, and 7.2 in PHPThemis 0.10.0 · Feb 2018 · source · release history
  • Adds OpenSSL 1.1 support in the core library 0.9.6 · Dec 2017 · source · release history
  • Enables BoringSSL backend for Android and Linux platforms 0.9.4 · Nov 2016 · source · release history

example

  • Build the new BoringSSL-enabled Themis core packages using the build system. make deb ENGINE=boringssl 0.14.0 · Dec 2021 · source
  • Include Themis with BoringSSL engine in an iOS project via CocoaPods. pod 'themis/themis-boringssl' 0.11.0 · Mar 2019 · source
Go Language Wrapper shipped Provides a Go language wrapper with howto documentation for the Themis library. 7 releases · 1 other source · first seen May 2016

release 7 total

  • Sets THEMIS_GEN_EC_KEY_PAIR_UNCOMPRESSED=1 environment variable to force generation of uncompressed EC public keys. 0.15.0 · Jun 2023 · source · release history
  • themis_secure_cell_encrypt_seal_with_passphrase() and decrypt_seal_with_passphrase() allow Seal mode encryption with human-readable passphrases. 0.13.0 · Jul 2020 · source · release history
  • Enables Go Modules support for GoThemis, allowing version pinning in Go projects 0.12.0 · Sep 2019 · source · release history
  • Adds crate.io and repository package distribution for Rust-Themis 0.11.1 · Apr 2019 · source · release history
  • Introduced Rust Themis wrapper via crates.io/themis with support for Secure Cell, Secure Message, Secure Session, and Secure Comparator 0.11.0 · Mar 2019 · source · release history
  • Adds get_remote_id function in GoThemis to retrieve the remote peer ID during Secure Session handshake 0.10.0 · Feb 2018 · source · release history

example

  • Encrypt data using a human-readable passphrase in Go. scell, err := cell.SealWithPassphrase("secret") encrypted, err := scell.Encrypt([]byte("message"), nil) 0.13.0 · Jul 2020 · source
Python 3 Support shipped Provides a Python wrapper updated for Python 3 compatibility and PEP standards. 6 releases · first seen Nov 2015

Also counts toward: Python scripting support, Scripting language support

release

  • Python 2 is no longer supported. 0.13.0 · Jul 2020 · source · release history
  • themis_secure_cell_encrypt_seal_with_passphrase() and decrypt_seal_with_passphrase() allow Seal mode encryption with human-readable passphrases. 0.13.0 · Jul 2020 · source · release history
  • Secure Session state serialisation in JavaThemis is deprecated. 0.13.0 · Jul 2020 · source · release history
  • Adds C++ wrapper with examples and howto documentation 0.9.3 · May 2016 · source · release history
  • Adds Go language wrapper with howto documentation 0.9.3 · May 2016 · source · release history
  • Python wrapper is updated to be Python 3 / PEP friendly. 0.9.2 · Nov 2015 · source · release history
Swift Language Support shipped Adds Swift language support with examples and howto documentation. 4 releases · 1 other source · first seen May 2016

release

  • Adds Package.swift for SPM support to install via Swift Package Manager 0.13.7 · Apr 2021 · source · release history
  • New Kotlin and Swift 5 language bindings are now supported. 0.13.0 · Jul 2020 · source · release history
  • Adds Swift3 language support with enhancements 0.9.4 · Nov 2016 · source · release history
  • Adds Swift language support with examples and howto documentation 0.9.3 · May 2016 · source · release history

example

  • Add Themis to a Swift package using the new SPM manifest. .package(url: "https://github.com/cossacklabs/themis.git", from: "0.13.7") 0.13.7 · Apr 2021 · source
Themis Server Debugging Environment shipped Provides an interactive server environment for debugging applications and learning library usage. 4 releases · 1 other source · first seen Nov 2015

release

  • Adds availability of ThemisPP as system packages (libthemispp-dev, libthemispp-devel) for Debian, Ubuntu, and CentOS 0.12.0 · Sep 2019 · source · release history
  • Added macOS Homebrew support for Themis Core via brew tap cossacklabs/tap && brew install libthemis 0.11.0 · Mar 2019 · source · release history
  • Provides new Themis Server examples 0.9.4 · Nov 2016 · source · release history
  • Themis Server: interactive environment to debug apps and learn how Themis works. 0.9.2 · Nov 2015 · source · release history

example

  • Install the new ThemisPP library on Debian-based systems using the official package name. apt-get install libthemispp-dev 0.12.0 · Sep 2019 · source
CocoaPods Integration Update shipped Updates the CocoaPods integration to ship as a vend xcframework instead of the previous structure. 3 releases · first seen Mar 2019

release

  • Ships themis.xcframework as a vendored framework in themis.podspec, replacing the previous CocoaPods integration. 0.15.7 · Apr 2026 · source · release history
  • Added Carthage distribution for iOS/macOS users can add github "cossacklabs/themis" to their Cartfile 0.11.0 · Mar 2019 · source · release history
  • Added bitcode support for Themis CocoaPod with OpenSSL 0.11.0 · Mar 2019 · source · release history
iOS Privacy Manifests shipped Bundles the PrivacyInfo.xcprivacy resource to satisfy Apple App Store privacy manifest requirements. 2 releases · first seen May 2016

release

  • Bundles PrivacyInfo.xcprivacy resource in themis.podspec to satisfy Apple App Store privacy manifest requirements. 0.15.7 · Apr 2026 · source · release history
  • Adds umbrella header to the iOS wrapper 0.9.3 · May 2016 · source · release history
TypeScript Declarations shipped Provides TypeScript declaration files for type checking in JsThemis. 2 releases · first seen Nov 2015

release

  • Adds a TypeScript declaration file for type checking in JsThemis 0.15.2 · Dec 2023 · source · release history
  • Android wrapper for Secure Message adds Sign/Verify mode. 0.9.2 · Nov 2015 · source · release history
React Native Wrapper shipped Provides an NPM package and wrapper to access Themis cryptographic features in React Native applications. 1 release · 1 other source · first seen Apr 2022

release

  • Adds the react-native-themis NPM package with TypeScript support for React Native development 0.14.4 · Apr 2022 · source · release history

example

  • Install the new React Native wrapper in a project to access Themis crypto features. npm install react-native-themis 0.14.4 · Apr 2022 · source
TypeScript ESM Imports shipped Enables importing WasmThemis classes using standard TypeScript ES6 module syntax. 1 release · 1 other source · first seen Nov 2015

release

example

  • Use the new TypeScript ES6 module to import WasmThemis classes. import {SecureCell, SecureMessage, SecureSession, SecureComparator} from 'wasm-themis'; 0.14.0 · Dec 2021 · source
WASM Custom Initialization shipped Allows customizing the URL of the WASM module during WasmThemis initialization. 2 releases · first seen Nov 2015

release

  • Adds initialize() function to WasmThemis allowing custom WASM module URLs 0.14.0 · Dec 2021 · source · release history
  • Support for longer RSA keys via better cryptosystem parameter abstractions. 0.9.2 · Nov 2015 · source · release history
Memory Secure Wiping shipped Provides functionality to securely erase sensitive data from memory. 1 release · 1 other source · first seen Sep 2019

release

  • Introduces soter_wipe() internal function in Themis Core to securely wipe sensitive data from memory 0.12.0 · Sep 2019 · source · release history

example

  • Securely erase sensitive data from memory using the new soter_wipe() function in your C/C++ code. #include <soter/soter.h> // ... after use ... soter_wipe(sensitive_buffer, buffer_length); 0.12.0 · Sep 2019 · source
Rust Language Wrapper shipped Provides a Rust language wrapper with support for Secure Cell, Secure Message, Secure Session, and Secure Comparator. 2 releases · first seen Mar 2019

release

  • Adds crate.io and repository package distribution for Rust-Themis 0.11.1 · Apr 2019 · source · release history
  • Introduced Rust Themis wrapper via crates.io/themis with support for Secure Cell, Secure Message, Secure Session, and Secure Comparator 0.11.0 · Mar 2019 · source · release history
WASM Build Option shipped Adds a build option to generate the WASM file for the Themis library. 1 release · first seen Aug 2022

release

WasmThemis Support shipped suggested Provides WasmThemis library support for cryptographic operations in JavaScript environments, including Secure Cell with optional context parameters for encryption and decryption. 1 release · first seen Apr 2022

Suggested capability: Encryption at rest. This is our guess, not confirmed.

release

  • SecureCell Seal in WasmThemis now supports passing optional context parameters to encrypt() and decrypt(), removing the requirement for positional arguments. 0.14.5 · Apr 2022 · source · release history
TypeScript WASM Definitions shipped Provides TypeScript type definitions and ES6 module support for WasmThemis. 1 release · first seen Dec 2021

release

  • Provides TypeScript definitions and ES6 module imports for WasmThemis 0.14.0 · Dec 2021 · source · release history
Console Utility Scripts shipped Provides console utility scripts for testing Secure Cell, Secure Message, and Key generation for Python, Ruby, Go, NodeJS, and PHP. 1 release · first seen Feb 2018

Also counts toward: Command-line interface, Python scripting support, Scripting language support

release

  • Adds console utility scripts for testing Secure Cell, Secure Message, and Key generation, available for Python, Ruby, Go, NodeJS, and PHP 0.10.0 · Feb 2018 · source · release history
Secure Comparator Support shipped Provides the Secure Comparator cryptographic primitive for comparing secrets without revealing them. 1 release · first seen Nov 2016

release

  • Provides new Secure Comparator examples for multiple languages 0.9.4 · Nov 2016 · source · release history
NodeJS Wrapper shipped Provides a NodeJS wrapper with examples and howto documentation. 1 release · first seen May 2016

release

  • Adds NodeJS wrapper with examples and howto documentation 0.9.3 · May 2016 · source · release history
WebThemis Browser Support shipped Releases a Google Chrome-friendly version of Themis for browser use. 1 release · first seen May 2016

release

  • Releases WebThemis, a Google Chrome-friendly version of Themis for browser use 0.9.3 · May 2016 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for Themis, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail Themis puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

18 entries

  1. April 20261
  2. January 20261
  3. December 20231
  4. June 20231
  5. August 20221
  6. April 20222
  7. December 20211
  8. April 20211
  9. July 20201
  10. September 20191
  11. April 20191
  12. March 20191
  13. February 20181
  14. December 20171
  15. November 20161
  16. May 20161
  17. November 20151
    Show

    18 entries

    Project health

    Issue, contributor and maintainer activity in cossacklabs/themis, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 0 ±0 vs prior 12 months
    2. Maintainers 0 +0 joined · −0 left, last 12 months
    3. Bus factor 0 committers behind half the commits
    4. Community-filed 100% of issues opened, last 12 months
    5. Median time to close < 1 day first maintainer reply 2.7 hours
    6. Open backlog 27 of 208 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 27
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 1,975
    Issue themes, last 12 months
    • other 100%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →