Как правильно поступить с хранением и использованием конфиденциальных данных в среде prod?

У меня есть веб-приложение django в производственной среде, размещенное на сервере. Для хранения конфиденциальных данных я использую .env файл, исключенный из моего процесса git, хранящийся на сервере, где размещено мое приложение.

# .env file

{
    "ENV_TYPE": "prod",
    "SECRET_KEY": "mysecretkey",
    "ALLOWED_HOSTS":[
        "somewhere.com"
    ],
    "DEBUG": false,
    "STATIC_ROOT": "/somewhere/staticfiles",
    "DATABASES": {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "databaseName",
        "USER": "username",
        "PASSWORD": "myPassword",
        "HOST": "somewhereelse.com"
        }
    }
}

А в моем приложении я получаю обратно данные, например, такие setting.py:

# setting.py
# Get back non secret env data such as DEBUG, ALLOWED HOSTS
with open(os.path.join(BASE_DIR, '.env'), 'r') as f:
    env_data = json.load(f)

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = env_data["SECRET_KEY"]

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = env_data["DEBUG"]

ALLOWED_HOSTS = env_data["ALLOWED_HOSTS"]

Вы считаете, что это хороший способ действовать? Ведь у меня до сих пор где-то на сервере есть пароли, которые жестко закодированы.

Вернуться на верх