Only the latest release receives fixes. Older versions are not patched — if you hit a problem, please upgrade first and check whether it still reproduces.
TenSEAL is a Python binding over Microsoft SEAL, plus a tensor layer built on top of it. That split decides where an issue belongs.
Issues in the underlying homomorphic encryption schemes, their security guarantees, or SEAL's own implementation belong to SEAL — see its security policy.
Everything in this repository belongs here:
- Memory safety in the C++ layer (
tenseal/cpp/) or the pybind11 bindings - Deserialization of untrusted contexts, keys or encrypted tensors
- Incorrect handling or propagation of encryption parameters in the TenSEAL layer
- Leakage of secret key material through the Python API or serialization
- Supply chain issues in the build or release workflow
Open a GitHub issue.
Please include a minimal reproduction, the TenSEAL version, and how you installed it.
Homomorphic encryption protects data in use, but it does not by itself make an application secure. TenSEAL does not protect against:
- Parameter misconfiguration. The security level of a context follows from the parameters you choose. See the SEAL documentation for what they mean.
- Sharing a secret key. A serialized context includes the secret key unless you explicitly drop it before sharing.
- Side channels. Timing and memory access patterns are not hardened.
These are usually application design questions rather than vulnerabilities in TenSEAL. If you believe the library makes an unsafe choice easy to reach by accident, that is still worth reporting.