django-fernet-fields-v2
Fernet-encrypted model fields for Django
Decision gist · record as of 2026-08-14
Yes, if you need field-level encryption in Django and accept the maintenance risk. The package is abandoned (last update August 2023), so it will not receive security patches or compatibility fixes for newer Django or Python versions. Install only if your Django and Python versions are locked to those it was tested on, or if you are willing to fork and maintain it yourself.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Django >=3.2 and Python >=3.8; only PostgreSQL, SQLite, and MySQL are tested.
- Low friction install with only Django and cryptography as runtime dependencies.
- However, the package is abandoned—last release was 2023-08-15 and no commits since then.
License · maintenance · safety
permissive license (permissive) — Licensed under MIT (permissive), so you can use, modify, and distribute freely with minimal restrictions.
last release 2023-08-15 (1095 days) · last repo commit 2023-08-15 · 4 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 974,985 downloads/mo, #4,599 on PyPI
Alternatives
Verify before relying
pip install django-fernet-fields-v2
from django_fernet_fields_v2 import EncryptedTextField
class MyModel(models.Model):
secret = EncryptedTextField()- Whether the package works with Django versions released after 2023-08-15.
- Current compatibility with Python versions beyond 3.11.
- Whether cryptography library updates since last release affect encryption/decryption.
- Whether any Django database backends other than PostgreSQL, SQLite, and MySQL work with BinaryField support.
What it is and what it does
django-fernet-fields-v2 is a Django app that adds encrypted model fields using Fernet symmetric encryption from the cryptography library. It lets you mark sensitive fields for automatic encryption at rest in the database, so plaintext never touches disk. The package wraps Django's BinaryField and handles encryption and decryption transparently on read and write.
It is a fork updated to support Django 4. The package is tested against PostgreSQL, SQLite, and MySQL, though any Django backend supporting BinaryField should work. It requires Django >=3.2 and Python >=3.8, but has not been maintained since August 2023.
Use it for
- Encrypt user passwords, API keys, or authentication tokens in a Django model without application-level encryption logic.
- Store personally identifiable information encrypted at rest in PostgreSQL, SQLite, or MySQL databases.
- Add field-level encryption to an existing Django project with minimal code changes.
- Comply with data protection regulations by encrypting sensitive fields before they reach the database.
- Protect against database breaches by ensuring stolen backups contain only ciphertext, not plaintext secrets.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need field-level encryption in Django and accept the maintenance risk.
The package is abandoned (last update August 2023), so it will not receive security patches or compatibility fixes for newer Django or Python versions. Install only if your Django and Python versions are locked to those it was tested on, or if you are willing to fork and maintain it yourself.
Install
django-fernet-fields-v2 on PyPI
Before you install
Low friction install with only Django and cryptography as runtime dependencies. However, the package is abandoned—last release was 2023-08-15 and no commits since then. Use only if you accept that security or compatibility updates will not arrive.
Requires Django >=3.2 and Python >=3.8; only PostgreSQL, SQLite, and MySQL are tested.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute freely with minimal restrictions.
Quickstart
pip install django-fernet-fields-v2
from django_fernet_fields_v2 import EncryptedTextField
class MyModel(models.Model):
secret = EncryptedTextField()
Verify before relying
- Whether the package works with Django versions released after 2023-08-15.
- Current compatibility with Python versions beyond 3.11.
- Whether cryptography library updates since last release affect encryption/decryption.
- Whether any Django database backends other than PostgreSQL, SQLite, and MySQL work with BinaryField support.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesDjangocryptography |
| Maintenance | Abandoned 1,095 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 974,985 / month, #4,599 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3 |
Evidence: django_fernet_fields_v2-0.9-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “django encrypted fields”
- django-fernet-fields-v2Provides Fernet symmetric encryption for Django model fields,…
- django-fernet-encrypted-fieldsProvides Django model fields that encrypt data at rest using Fernet…
- djfernetProvides Fernet symmetric encryption for Django model fields,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Cryptography packages
Certifi provides Mozilla's curated collection of root SSL certificates for Python applications to validate TLS hosts and verify certificate trustworthiness.
cryptography provides cryptographic recipes and low-level primitives for symmetric encryption, message digests, key derivation, and other common cryptographic algorithms in Python.
Pure-Python RSA encryption, decryption, signing, and key generation following PKCS#1 v1.5, with command-line and library interfaces.
pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.
Provides Microsoft Entra ID token-based authentication for Azure SDK clients through a set of TokenCredential implementations that handle OAuth flows and managed identity support.
PyNaCl provides Python bindings to libsodium for digital signatures, secret-key and public-key encryption, hashing, message authentication, and password-based key derivation.
See also django-fernet-encrypted-fields · django-sequences · djfernet · fernet · django-cryptography-5 · django-cryptography-django5 · django-cryptography · django-encrypted-model-fields · sqlcipher3-wheels