# S12: OMEMO и доверие Интегрировать проверенный browser crypto backend по малым adapters/fixtures; неподдержанный формат остаётся blocker. Входной gate: S11-013. Выходной gate: S12-022. ## Задачи - [S12-001](../tasks/S12-001.md): Подключить accepted crypto backend — crypto; todo. - [S12-002](../tasks/S12-002.md): Реализовать identity bootstrap — crypto; todo. - [S12-003](../tasks/S12-003.md): Реализовать protected crypto persistence — crypto; todo. - [S12-004](../tasks/S12-004.md): Реализовать device trust model — crypto; todo. - [S12-005](../tasks/S12-005.md): Реализовать legacy device list PEP — protocol; todo. - [S12-006](../tasks/S12-006.md): Реализовать legacy bundle PEP — protocol; todo. - [S12-007](../tasks/S12-007.md): Реализовать legacy session builder — crypto; todo. - [S12-008](../tasks/S12-008.md): Реализовать legacy stanza encryption — crypto; todo. - [S12-009](../tasks/S12-009.md): Реализовать legacy stanza decryption — crypto; todo. - [S12-010](../tasks/S12-010.md): Реализовать OMEMO2 devices PEP — protocol; todo. - [S12-011](../tasks/S12-011.md): Реализовать OMEMO2 bundle PEP — protocol; todo. - [S12-012](../tasks/S12-012.md): Реализовать OMEMO2 session adapter — crypto; todo. - [S12-013](../tasks/S12-013.md): Интегрировать OMEMO2 payload/SCE codec — crypto; todo. - [S12-014](../tasks/S12-014.md): Реализовать OMEMO2 stanza adapter — crypto; todo. - [S12-015](../tasks/S12-015.md): Реализовать OMEMO format preference — crypto; todo. - [S12-016](../tasks/S12-016.md): Подключить own-device recipients — crypto; todo. - [S12-017](../tasks/S12-017.md): Реализовать encrypted file port — crypto; todo. - [S12-018](../tasks/S12-018.md): Создать encryption controls — front; todo. - [S12-019](../tasks/S12-019.md): Создать devices/fingerprint UI — front; todo. - [S12-020](../tasks/S12-020.md): Проверить client crypto boundaries — security; todo. - [S12-021](../tasks/S12-021.md): Проверить OMEMO interoperability — qa; todo. - [S12-022](../tasks/S12-022.md): Gate: OMEMO и доверие — qa; todo. ## Граница этапа Выходной gate проверяет evidence/готовые проверки, не реализует функции за остальные задачи. Если отдельная карточка требует слишком большой контекст — split с сохранением requirements coverage.