Releases: ryan-shaw/django-secrets-fields
Releases · ryan-shaw/django-secrets-fields
Release list
1.0.5
What's Changed
- Fix display of admin field by @ryan-shaw in #12
- Release 1.0.5 by @ryan-shaw in #13
Full Changelog: 1.0.4...1.0.5
1.0.4
What's Changed
- Add versioned ciphertext by @ryan-shaw in #10
- 1.0.4 by @ryan-shaw in #11
Full Changelog: 1.0.3...1.0.4
1.0.3
What's Changed
- Update lint by @ryan-shaw in #5
- Switch to pytest by @ryan-shaw in #6
- Add migrate command by @ryan-shaw in #7
- Remove is_valid func by @ryan-shaw in #8
- Release 1.0.3 by @ryan-shaw in #9
Full Changelog: 1.0.2...1.0.3
1.0.2
1.0.1
1.0.0
Django encrypted fields with support for multiple backends, currently supports symmetric encryption using Fernet and AWS Secrets Manager. Two fields types are currently supported, SecretTextField and SecretJSONField.
⚙️ Installation
Install django-secrets-fields:
pip install django-secrets-fieldsTo use backend that requires AWS install using:
pip install django-secrets-fields[aws]🤖 Usage
settings.py
DJANGO_SECRET_FIELDS = {
"default": {
"backend": "secrets_fields.backends.encrypted.EncryptedBackend",
"encryption_key": b"<fernet key>",
},
"aws": {
"backend": "secrets_fields.backends.secretsmanager.SecretsManagerBackend",
"prefix": "/path/",
},
}A Fernet can be generated using the following command:
python manage.py generate_fernet_keymodels.py
from django.db import models
from secrets_fields.fields import SecretJSONField, SecretTextField
class MyModel(models.Model):
secret_text = SecretTextField(backend="aws")
secret_json = SecretJSONField()