# Приёмка проекта: утечка данных и потерянные миграции

> Разобрали чужой проект без документации, закрыли утечку персональных данных в логах, вернули боевой код под git.

Сеть медицинских клиник

Принять проект после предыдущего подрядчика: понять, что внутри, и оценить, насколько это безопасно развивать.

**Стек:** 1С-Битрикс · интеграция с МИС · HTTP-сервисы 1С · git

## Что мешало

- Документации нет, устройство интеграции с медицинской системой никому не известно
- Боевые компоненты лежали в ядре и вне версионного контроля
- Миграции молча терялись из-за правила в .gitignore
- Прод жил на PHP 8.0, дев — на 8.2

## Что сделали

- Разобрали интеграцию расписания врачей с медицинской системой и HTTP-сервисом 1С
- Нашли и устранили утечку персональных данных в открытые логи
- Вернули боевые компоненты под версионный контроль, вычистили правила, из-за которых терялись миграции
- Навели порядок на серверах и задокументировали техдолг с приоритетами

## Что стало

- **1** — утечка персональных данных закрыта
- **8.0 → 8.2** — расхождение версий PHP зафиксировано письменно
- **0** — боевого кода вне git после приёмки

У заказчика появился документ, из которого видно, как устроен проект, что в нём опасно и в каком порядке это закрывать. Документ остаётся полезным независимо от того, кто продолжит работу.

## Чему это научило

«Работает на деве» ничего не значит, когда на проде другая версия PHP. Это первое, что стоит проверять при приёмке — и первое, о чём молчат, передавая проект.

## Другие разборы

- [Кабинет печати этикеток для маркетплейса](https://it-zarya.ru/cases/ozon-labels/) — Печать 80 этикеток одним файлом вместо поштучной, свой журнал печати и фильтры по всем полям API. Ключи продавца на сервере не хранятся.
- [Трафик есть, заявок почти нет: разбор двух сайтов](https://it-zarya.ru/cases/marketing-audit/) — 38 843 визита за месяц дали 30 обращений. Нашли, почему часть заявок не попадала в аналитику и куда уходило 95% бюджета.
- [Монолит разобран на 15 сервисов на Go](https://it-zarya.ru/cases/monolith-split/) — Монолит разобран на 15 сервисов на Go: контракты в отдельных репозиториях, Kafka для событий, выкатка через ArgoCD без ручных шагов.

## Похожая задача

Если узнали свою ситуацию — расскажите, что происходит у вас. Вернёмся с оценкой в часах и планом работ.

[Обсудить задачу](https://it-zarya.ru/contacts/) [Услуга: Аудит и приёмка](https://it-zarya.ru/services/audit/)

---

Источник: https://it-zarya.ru/cases/clinic-handover/ · IT-агентство «Заря» · itzarya@mail.ru
Markdown-версия любой страницы сайта — тот же адрес с `.md` на конце. Индекс для ассистентов: https://it-zarya.ru/llms.txt
