# ЭДО и подпись

Категория `docflow` охватывает электронный документооборот (ЭДО) и смежные системы — отправку, получение и подписание документов. Подписание документа квалифицированной электронной подписью (КЭП) выполняет отдельный инструмент, отдельный от `connector_execute`.

## Коннекторы документооборота

Эти коннекторы вызываются через стандартный [флоу коннектора](/docs/connector-flow). В каталоге, среди прочих:

- **Диадок** (`diadoc`) и **СБИС** (`sbis`) — операторы ЭДО: отправка, получение и подписание документов.
- **Контур.Экстерн** (`kontur_extern`) — отчётность и обмен документами.
- Семейство **1С** (`onec_accounting`, `onec_trade`, `onec_document_flow`, …) — операции с документами в стиле RPC.
- **МойСклад** (`moysklad`) — торговые документы и складской учёт.
- **Честный ЗНАК** (`chestnyznak`) — коды маркировки и документы.
- **HRlink** (`hrlink`) — кадровый электронный документооборот (КЭДО).

## Подписание квалифицированной электронной подписью

`sign_document` — это **отдельный инструмент**, а не вызов коннектора. Он формирует квалифицированную электронную подпись (КЭП) через **плагин КриптоПро в браузере**, поэтому закрытый ключ никогда не покидает машину пользователя. Аргумент `service` ограничен операторами ЭДО, поверх которых он работает: `diadoc` или `sbis`.

### Запрос

Ассистент вызывает `sign_document`, который отправляет на фронтенд `signature_request` и встаёт на паузу (мост-форма с участием человека).

### Подпись в браузере

Пользователь выбирает сертификат и подписывает в КриптоПро. Отсоединённая CMS-подпись формируется **на стороне клиента** — бэкенд никогда не видит закрытый ключ.

### Передача

Подпись возвращается через мост-форму; инструмент передаёт её в нижележащий коннектор ЭДО (Диадок / СБИС) и возвращает статус ассистенту.

**С участием человека**

Подписание всегда встаёт на паузу для пользователя — оно никогда не происходит молча. Запрос истекает по таймауту, если сертификат не выбран в течение окна подписания.
