# Конфиденциальность и шифрование

### Конфиденциальность <a href="#privacy" id="privacy"></a>

Все ваши данные в Anytype являются частными. Только у вас есть ключи шифрования. Никто в Anytype не может расшифровать ваши данные. Поэтому, если вы потеряете свою фразу восстановления, мы не сможем восстановить доступ. Также никто в Anytype или любой другой человек не может прочитать содержимое вашего Anytype.

### Шифрование <a href="#keychain" id="keychain"></a>

* Ваши объекты хранятся как локально, так и на узлах в зашифрованном формате, который может быть расшифрован только с помощью ключей шифрования. Они разные для каждого документа, и у нас есть определенная иерархия ключей.
* Чтобы эффективно искать по документам, мы создаем индексы ваших данных локально на основе зашифрованных объектов. Представьте, что это два разных хранилища: одно для данных, другое для индексов. Мы расшифровываем эти зашифрованные объекты на лету с помощью ваших ключей, выполняем некоторую логику и затем сохраняем результаты (т.е. индексы) локально. Эти индексы не зашифрованы, но мы предполагаем, что только у вас есть доступ к вашим локальным данным, т.е. доступ к вашему локальному компьютеру не скомпрометирован.
* Эти индексы не синхронизируются нигде и остаются только на вашем компьютере. Например, если у вас два устройства, у каждого из них будет свое собственное хранилище индексов.

{% hint style="danger" %}
Мы предполагаем, что машина пользователя не скомпрометирована и надежна. По сути, если устройство скомпрометировано, существует множество векторов атак, включая сканирование ОЗУ и кейлоггинг фразы-пароля, что делает локальное шифрование намного менее полезным. Мы обязательно добавим дополнительное шифрование позже. **На данный момент мы рекомендуем включить шифрование HDD и пароль на устройстве.**
{% endhint %}

#### Технические детали <a href="#tech-details" id="tech-details"></a>

Вот некоторые технические детали о шифровании и хранении данных:

* Anytype хранит историю изменений для каждого объекта, который вы создали.
* Каждое изменение объекта имеет 2 уровня шифрования с разными ключами.
* Первый уровень используется для связывания изменений в рамках одного объекта, например, "все эти зашифрованные данные принадлежат объекту с id \<abc>".
* Второй уровень используется для шифрования фактических данных. Мы используем AES с потоковым шифрованием в режиме CFB.
* Когда вы создаете новое изменение для объекта, мы периодически отправляем его на наш резервный узел (только с ключом первого уровня). Больше информации о синхронизации [здесь](https://tech.anytype.io/any-sync/overview).
* Резервные узлы Anytype имеют доступ к ключу первого уровня, поэтому они могут группировать изменения для объекта и отправлять их в одном пакете, когда вы хотите восстановить свои данные.
* Резервные узлы Anytype НЕ имеют доступа к ключу второго уровня [Ключ](/anytype-docs/russian/osnovy/vault-and-key/what-is-a-recovery-phrase.md), поэтому они не могут прочитать фактические изменения данных.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.anytype.io/anytype-docs/russian/dannye-i-bezopasnost/how-we-keep-your-data-safe.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
