Это возможно с шифрованием с открытым ключом. Я делал нечто подобное раньше в PHP, но идея для приложения Django та же:
Все данные на этом сайте хранятся в зашифрованном виде с использованием закрытого ключа, который хранится в системном программном обеспечении. Соответствующий открытый ключ для расшифровки данных хранится клиентом в текстовом файле.
Когда клиент хотел получить доступ к своим данным, он вставлял открытый ключ в форму авторизации (удерживая ключ в сеансе), которая разблокировала данные.
Когда они закончили, они деавторизовали свой сеанс.
Это защищало информацию от санкционированного доступа к веб-приложению (поэтому оно защищено от слабых имен пользователей и паролей), а также от утечек на уровне базы данных.
Это все еще не совсем безопасно: если у вас есть root-доступ к машине, вы можете захватить ключ при его загрузке или просмотреть информацию о сеансе. Для этого можно было бы запустить программу чтения на компьютере клиента и получить доступ к базе данных через API.
Я понимаю, что это старый вопрос, но я решил уточнить, что это действительно возможно.