Закон о переносимости и подотчётности медицинского страхования (HIPAA) -- это федеральный закон США, устанавливающий стандарты защиты конфиденциальной медицинской информации пациентов (PHI). Он распространяется на покрываемые организации (поставщики медицинских услуг, планы медицинского страхования, клиринговые палаты) и их деловых партнёров.

Полный текст: [Public Law 104-191](https://www.govinfo.gov/content/pkg/PLAW-104publ191/html/PLAW-104publ191.htm)

## Сопоставление защитных мер

HIPAA требует административных, технических и физических защитных мер. Таблица ниже сопоставляет их с возможностями Rediacc.

### Технические защитные меры

| Требование | Ссылка HIPAA | Возможность Rediacc |
|-----------|-------------|-------------------|
| Контроль доступа | [45 CFR 164.312(a)](https://www.govinfo.gov/content/pkg/PLAW-104publ191/html/PLAW-104publ191.htm) | Аутентификация по SSH-ключу. API-токены с привязкой к IP и ограничениями области. Изоляция Docker daemon для каждого репозитория предотвращает межрепозиторный доступ. |
| Контроль аудита | [45 CFR 164.312(b)](https://www.govinfo.gov/content/pkg/PLAW-104publ191/html/PLAW-104publ191.htm) | Более 40 типов событий на уровне аккаунта, охватывающих аутентификацию, API-токены, операции конфигурации и лицензирование. Отслеживание по пользователям и командам. Экспорт через панель администратора или `rdc audit` CLI. |
| Контроль целостности | [45 CFR 164.312(c)](https://www.govinfo.gov/content/pkg/PLAW-104publ191/html/PLAW-104publ191.htm) | CoW-снимки сохраняют исходные данные перед модификацией. `rdc repo validate` проверяет целостность репозитория и состояние резервных копий (контейнер LUKS, согласованность файловой системы, конфигурация). |
| Шифрование в состоянии покоя | [45 CFR 164.312(a)(2)(iv)](https://www.govinfo.gov/content/pkg/PLAW-104publ191/html/PLAW-104publ191.htm) | Шифрование LUKS2 AES-256 на всех томах репозиториев. Учётные данные хранятся только в локальной конфигурации оператора, никогда на сервере. Хранилище конфигурации использует шифрование AES-256-GCM с нулевым разглашением и разделённым выводом ключей. Даже сервер не может расшифровать хранимые конфигурации. |
| Безопасность передачи | [45 CFR 164.312(e)](https://www.govinfo.gov/content/pkg/PLAW-104publ191/html/PLAW-104publ191.htm) | Все удалённые операции используют SSH. Транспорт резервных копий зашифрован сквозным образом. Без незашифрованной передачи данных. |

### Административные защитные меры

| Требование | Возможность Rediacc |
|-----------|-------------------|
| Управление доступом персонала | API-токены с ограниченными разрешениями. Контроль доступа на основе команд. Автоматический отзыв токенов при удалении из команды. |
| Процедуры инцидентов безопасности | Журналы аудита предоставляют криминалистический след всех операций. Изоляция репозиториев ограничивает зону поражения. |
| Планирование на случай чрезвычайных ситуаций | `rdc repo backup push/pull` поддерживает зашифрованное резервное копирование на несколько назначений. CoW-снимки обеспечивают мгновенное восстановление. |

### Физические защитные меры

| Требование | Возможность Rediacc |
|-----------|-------------------|
| Контроль доступа к помещениям | Самостоятельное размещение: ваша организация контролирует физическую безопасность своих серверов. Нет зависимости от сторонних ЦОД для основных операций. |
| Безопасность рабочих станций | LUKS шифрует все данные в состоянии покоя. Несмонтированные репозитории -- это зашифрованные блобы на диске, нечитаемые без учётных данных оператора. |

## Соглашение о деловом партнёрстве (BAA)

Поскольку Rediacc -- это программное обеспечение с самостоятельным размещением, работающее на вашей инфраструктуре, оно не обрабатывает, не хранит и не передаёт PHI через системы компании Rediacc. Типичное требование BAA применяется к вашему поставщику инфраструктуры (облачный провайдер или колокация), а не к Rediacc.

Rediacc работает как программный инструмент на ваших серверах, аналогично операционной системе или движку базы данных. Он не имеет доступа к вашим данным. Опциональное хранилище конфигурации синхронизирует зашифрованные блобы через серверы Rediacc, но его архитектура с нулевым разглашением означает, что сервер не может расшифровать содержимое. Он хранит только непрозрачный шифротекст.

## Среды разработки с PHI

При клонировании производственных сред, содержащих PHI, для целей разработки используйте хук жизненного цикла Rediaccfile `up()` для запуска скриптов очистки, которые:

- Удаляют PHI из таблиц базы данных
- Заменяют идентификаторы пациентов синтетическими данными
- Удаляют токены сессий и API-ключи

Разработчики получают инфраструктуру, похожую на продакшен, с деидентифицированными данными, соответствуя стандарту минимальной необходимости HIPAA.