LIVE

Перенос данных при расторжении SaaS-контракта: чек-лист проверки SLA

У вас подписан контракт с облачным провайдером. Данные компании — CRM-база, документооборот, логи транзакций, вложения, история согласований — лежат в чужом облаке.

Обновлено15 июля 2026 г.
Чтение17 мин
Перенос данных при расторжении SaaS-контракта: чек-лист проверки SLA

Договор заканчивается, и в день расторжения администратор видит не аккуратную кнопку «экспортировать всё», а заблокированный интерфейс. Не завтра, не через неделю — прямо сейчас.

Это и есть ловушка последнего дня. Она почти всегда выглядит не как авария, а как формально корректное исполнение договора: подписка прекращена, доступ закрыт, сервис больше не оказывается. Выгрузка данных при расторжении договора SaaS в такой ситуации превращается из плановой операции в пожарную эвакуацию без дверей.

В лаборатории мы разбирали десятки инцидентов, где бизнес терял критичные массивы данных не из-за сбоя облака, а из-за пустоты в SLA. Не было периода «только для чтения». Не был указан формат экспорта. Не было обязанности провайдера сохранить API на время миграции. Не было ответственного канала для запроса. Провайдер действовал юридически чисто: контракт завершён, обязательства прекращены, доступ закрыт.

Именно поэтому перенос данных при расторжении SaaS-контракта нужно проверять не в день выхода, а в день входа. Хороший SLA в этой части отвечает на пять грубых, но честных вопросов: сколько времени у вас есть, в каком виде вам отдадут данные, кто отвечает за экспорт, как проверяется полнота выгрузки и что будет, если провайдер сорвёт процедуру.

Ловушка «последнего дня»: почему доступ к данным исчезает мгновенно

Классическая ситуация: компания решила перейти на другую платформу. Миграция запланирована на три месяца, новая система уже поднимается, интеграторы строят пайплайны, бизнес-подразделения готовят справочники. Но никто не проверил, что в договоре с текущим SaaS-провайдером написано про доступ после расторжения.

В день Х вендор отключает API, блокирует учётные записи, а административная панель превращается в красивую страницу с уведомлением: срок действия подписки истёк. Данные не обязательно удалены. Они могут ещё лежать в хранилищах провайдера, попадать под retention policy, бэкапироваться, архивироваться. Но для клиента разница между «данные удалены» и «данные недоступны» в операционном смысле небольшая. Работать с ними нельзя.

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

Проблема в том, что бизнес обычно думает иначе. Внутри компании SaaS воспринимается как «наша система»: наши пользователи, наши сделки, наши документы, наши настройки. Но с точки зрения договора вы пользуетесь сервисом на условиях провайдера. Если в этих условиях нет отдельного режима возврата данных из SaaS-сервиса, никакой «здравый смысл» не создаст его задним числом.

Данные в чужом облаке не исчезают магически. Но доступ к ним может исчезнуть ровно в ту минуту, когда договор перестал действовать.

В SLA нужно искать не общие слова о «содействии при миграции», а конкретную механику последнего дня. Что происходит с пользователями после даты расторжения? Остаётся ли административный доступ? Работают ли API-ключи? Доступны ли вложения и бинарные файлы? Можно ли запускать массовый экспорт? Сохраняются ли журналы аудита? Учитываются ли выходные и праздники в сроках обработки запроса?

Если ответа нет, считайте, что после расторжения доступ исчезает мгновенно. Это грубая, но безопасная презумпция.

Стандарты переносимости: какие форматы данных требовать от вендора

Вторая ловушка мягче, но неприятнее: данные вам вроде бы отдали, только использовать их невозможно. Провайдер выгружает PDF-отчёты, набор HTML-страниц, скриншоты интерфейса или архив с файлами, где структура понятна только разработчикам самого сервиса. Формально экспорт состоялся. Практически вы получили музейный экспонат, а не миграционный пакет.

Для нормальной миграции важен не сам факт передачи, а пригодность данных к автоматической обработке. GDPR говорит о структурированном, общепринятом и машиночитаемом формате. В корпоративной практике это обычно означает CSV, JSON, XML и сопутствующую документацию к схеме. Не потому, что эти форматы красивее остальных, а потому что их можно загрузить в ETL, проверить, сопоставить с новой моделью данных и повторить операцию без ручной перепечатки.

Что проверять в SLAПлохая формулировкаРабочая формулировка
Формат экспорта«Данные предоставляются в стандартном формате провайдера»«Данные предоставляются в CSV, JSON или XML по выбору клиента»
Машиночитаемость«Отчёты доступны для скачивания»«Экспорт пригоден для автоматизированной обработки и импорта в сторонние системы»
Полнота«Передаются клиентские данные»«Передаются основные записи, вложения, метаданные, справочники, связи между объектами и журналы аудита в пределах согласованного состава»
Документация«Описание предоставляется при наличии»«Провайдер предоставляет схему данных, описание полей и правила кодирования значений»
Повторяемость«Экспорт выполняется по запросу»«Клиент вправе выполнить тестовую и финальную выгрузку в течение периода миграции»

PDF и скриншоты не должны считаться полноценным экспортом данных из облака при расторжении контракта. Они могут быть приложением для юридического архива, но не основой миграции. Если новая CRM, ERP или DWH не может автоматически разобрать выгрузку, это не переносимость, а имитация.

Отдельная боль — связи между объектами. Таблица контактов без ссылок на компании, сделки без истории статусов, документы без метаданных согласования, обращения без вложений — всё это выглядит как экспорт, пока не начинается импорт. Потом выясняется, что бизнес-процессы распались на отдельные фрагменты.

Поэтому в SLA нужно отдельно фиксировать состав выгрузки. Не абстрактные «данные клиента», а категории:

  • основные сущности: клиенты, контрагенты, сделки, задачи, заявки, документы;
  • справочники и пользовательские поля, без которых записи теряют смысл;
  • связи между объектами: родительские записи, статусы, цепочки согласования, комментарии;
  • вложения и бинарные файлы с исходными именами, типами и датами;
  • системные метаданные: даты создания и изменения, авторы действий, идентификаторы записей;
  • журналы аудита и событий, если они нужны для расследований, compliance или внутреннего контроля;
  • настройки ролей и прав, если новая система должна восстановить модель доступа.

И ещё одна неприятная деталь: идентификаторы. Многие SaaS-сервисы используют внутренние ID, которые не видны пользователю, но держат на себе всю структуру связей. Если провайдер выгружает красивые человекочитаемые названия, но не отдаёт стабильные идентификаторы, миграция превращается в угадайку. В SLA лучше прямо указать, что экспорт должен сохранять уникальные идентификаторы объектов и связи между ними либо предоставлять таблицу соответствия.

Непригодный формат — это не компромисс. Это такая же потеря данных, только растянутая во времени и замаскированная под архив.

Юридические сроки и SLA: как закрепить период «только для чтения»

Главный пункт SLA при расторжении — период возврата данных. Его часто называют grace period, data retrieval period или post-termination access. Смысл простой: после прекращения договора клиент получает ограниченный доступ к системе, чтобы выгрузить данные. Не создавать новые записи, не менять бизнес-процессы, не продолжать эксплуатацию сервиса, а именно читать и экспортировать.

На рынке встречаются разные сроки, но для большинства корпоративных SaaS разумный диапазон — от 30 до 90 дней. Меньше — опасно для сложных систем с большим объёмом данных и несколькими контурами. Больше — не всегда примет провайдер, потому что он продолжает нести расходы и риски хранения. Важна не магическая цифра, а её явное наличие в договоре.

Фраза «провайдер оказывает разумное содействие при миграции» не годится. «По согласованию сторон» тоже не годится, если порядок согласования не описан. В момент конфликта такие формулировки становятся пустотой. Нужна конкретика: дата начала периода, дата окончания, уровень доступа, доступность API, лимиты экспорта, сроки реакции поддержки.

Хороший блок SLA по миграции данных должен закрывать несколько уровней.

Доступ после расторжения

В договоре должно быть прямо сказано, что после даты прекращения оказания услуг клиент сохраняет доступ только для чтения в течение согласованного срока. Этот доступ должен распространяться не только на веб-интерфейс, но и на технические каналы, если именно через них выполняется экспорт: API, SFTP, коннекторы, отчётные модули, административные выгрузки.

Если API отключается в день расторжения, а интерфейс оставляет только ручной экспорт по одной странице, это не grace period. Это декоративная уступка.

Сроки реакции провайдера

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

Здесь важно не путать общий SLA доступности сервиса и SLA миграции. Доступность 99,9% сама по себе не гарантирует, что вам вовремя подготовят архив. Нужны отдельные сроки для операций с данными: подтверждение запроса, предоставление тестовой выгрузки, предоставление финальной выгрузки, исправление дефектов.

Доступность в период миграции

Период «только для чтения» не должен быть периодом «иногда работает». Если сервис лежит три дня из тридцати, формально grace period был, но фактически вы потеряли значимую часть окна миграции. Поэтому в SLA нужно распространять требования доступности на post-termination access и отдельно описывать продление срока при существенной недоступности.

Например: если сервис, API или экспортный модуль недоступны по вине провайдера, период возврата данных продлевается на время недоступности. Это не роскошь, а нормальная защита от ситуации, когда провайдер формально дал окно, но технически не дал возможности им воспользоваться.

Удаление после завершения

Возврат данных из SaaS-сервиса не заканчивается скачиванием архива. После миграции возникает обратный вопрос: что провайдер делает с остатками данных? Удаляет? Обезличивает? Хранит в резервных копиях до истечения внутреннего цикла? Выдаёт подтверждение?

В SLA должна быть связка: сначала период экспорта, затем подтверждение завершения, затем удаление или иная согласованная обработка. Если данные включают персональную информацию, коммерческую тайну или регулируемые записи, без письменного подтверждения уничтожения оставлять этот этап на доверии опасно.

Минимальный набор условий, который стоит видеть в SLA SaaS по миграции данных:

1. Фиксированный post-termination access — конкретное количество дней доступа только для чтения после расторжения.

2. Сохранение технических каналов — API, массовый экспорт, административные инструменты и хранилище вложений доступны в течение всего периода.

3. Форматы экспорта — CSV, JSON, XML или иной заранее согласованный машиночитаемый формат, пригодный для автоматической обработки.

4. Состав данных — основные записи, связи, метаданные, вложения, справочники, пользовательские поля, журналы в согласованном объёме.

5. Документация схемы — описание полей, типов данных, кодировок, идентификаторов и связей.

6. Тестовая выгрузка — право клиента заранее проверить экспорт на части данных.

7. Финальная выгрузка — порядок и сроки подготовки полного пакета.

8. Исправление ошибок — сроки устранения дефектов выгрузки и повторного предоставления файлов.

9. Продление при недоступности — автоматическое продление окна миграции на период сбоев по вине провайдера.

10. Подтверждение удаления — документальное подтверждение уничтожения или иной согласованной обработки данных после завершения периода.

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

Риски и штрафы: что грозит провайдеру за нарушение прав на данные

Когда речь заходит о санкциях, важно не впасть в иллюзию: регуляторные штрафы существуют, но они не являются быстрым инструментом восстановления доступа. Если провайдер нарушил права субъектов данных, затянул переносимость или выдал информацию в непригодном виде, это может иметь последствия. Но бизнесу, которому завтра нужно запускать новую систему, от потенциального штрафа через месяцы легче не становится.

В европейском контуре GDPR предусматривает серьёзную ответственность за нарушения требований к обработке персональных данных, включая переносимость. В США, в частности в Калифорнии, CCPA/CPRA также даёт субъектам данных права на доступ и получение информации, а регулятору — инструменты воздействия. Но корпоративная миграция SaaS — это часто смешанная зона: часть данных относится к субъектам, часть является коммерческой информацией компании, часть — техническими логами и настройками. Не всё автоматически превращается в регуляторный спор о data portability.

Поэтому в контракте нужны собственные санкции, а не надежда на внешнего регулятора. Если SLA обещает экспорт, но не содержит ответственности за срыв, провайдер может отделаться извинениями, сервисными кредитами или ссылкой на «сложность запроса». Сервисные кредиты в размере части месячной подписки мало утешают, когда миграция сорвана, отдел продаж не видит историю сделок, а юридический департамент не может поднять цепочку согласований.

В разделе ответственности стоит проверять четыре вещи.

Во-первых, считается ли невозможность выгрузки нарушением SLA. Не просто недоступность сервиса, а именно недоступность функции экспорта, API, архива вложений, административной панели. Если экспортный модуль не включён в определение service availability, провайдер может спорить, что SLA не нарушен.

Во-вторых, есть ли отдельная ответственность за неполный или непригодный экспорт. Файл открылся — это ещё не выполнение обязательства. Если в выгрузке нет вложений, нарушены связи, поля обрезаны, кодировка ломает кириллицу, даты съехали из-за часовых поясов, клиент должен иметь право требовать исправления и повторной выгрузки.

В-третьих, ограничена ли ответственность провайдера смешным потолком. В SaaS-договорах часто встречается cap liability: ответственность ограничивается суммой платежей за короткий период. Для обычного сбоя это может быть приемлемо. Для потери доступа к данным — нет. Данные стоят дороже месячной подписки.

В-четвёртых, есть ли процедура экстренной эскалации. При расторжении нельзя ждать стандартные «до пяти рабочих дней» на первый ответ поддержки. Окно миграции ограничено, каждая задержка съедает время. В SLA должен быть канал для критичных инцидентов, связанных с экспортом данных, и понятная лестница эскалации до ответственных лиц провайдера.

Судебный путь формально возможен, но практически тяжёлый. Если провайдер зарегистрирован в другой юрисдикции, спор может длиться долго. За это время данные устареют, команда миграции распадётся, новая система уйдёт в промышленную эксплуатацию с дырками, а часть резервных копий у провайдера будет удалена по внутренней политике хранения. Поэтому стратегия безопасности здесь не «потом взыщем», а «не дадим ситуации случиться».

Сильный SLA — это не тот, где провайдер красиво обещает защищать данные. Сильный SLA — тот, где описано, что именно происходит в плохой день: кто открывает доступ, в какие сроки, в каком формате, с какой ответственностью и как клиент доказывает, что получил всё.

Технический аудит перед расторжением: как избежать потери информации

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

Первый шаг — инвентаризация. Не «в SaaS лежит CRM», а точный перечень объектов и контуров: основные таблицы, кастомные поля, вложения, справочники, интеграционные очереди, журналы, архивные записи, отключённые пользователи, исторические статусы. Если вы не знаете, что должно выйти из системы, вы не сможете доказать, что выгрузка неполная.

Особенно внимательно нужно смотреть на данные, которые не видны в обычном пользовательском интерфейсе. Это могут быть системные идентификаторы, история изменений, технические комментарии, связи many-to-many, флаги обработки, статусы синхронизации с внешними системами. Пользователь их не открывает каждый день, но при миграции они оказываются критичными.

Второй шаг — тестовая выгрузка. Её нужно делать до расторжения, а не в последнюю неделю. Запросите небольшой, но репрезентативный фрагмент: записи с вложениями, записи с кастомными полями, старые архивные объекты, несколько типов пользователей, разные статусы. Откройте файлы не глазами менеджера, а инструментами миграции. Проверьте кодировку, разделители, типы дат, пустые значения, переносы строк, вложенные структуры, стабильность идентификаторов.

Третий шаг — проверка импортируемости. Экспорт сам по себе ничего не значит, если новая система его не принимает. Нужно прогнать тестовый пакет через целевой контур или хотя бы через промежуточное хранилище. На этом этапе часто выясняется, что JSON валиден, но схема неудобна; CSV открывается, но теряет вложенные значения; XML содержит namespaces, с которыми не готов работать импортёр; даты приходят в разных форматах; числовые поля локализованы запятыми.

Четвёртый шаг — параллельный бэкап. Если SaaS позволяет штатно выгружать данные через API, не ждите финального окна. Настройте регулярную синхронизацию заранее. Да, это временная инфраструктура. Да, её потом выбросят. Но она даёт вам независимую копию и снижает зависимость от одного финального архива, который может не собраться, собраться неполным или приехать слишком поздно.

Пятый шаг — журналирование всех действий. Запросы к провайдеру, ответы поддержки, даты выгрузок, контрольные суммы, объёмы файлов, результаты проверок — всё это нужно фиксировать. Если возникнет спор о том, кто сорвал миграцию, переписка в мессенджере и устные договорённости будут слабым материалом. Нужен нормальный след: тикеты, письма, акты, отчёты проверки.

Практический порядок перед расторжением можно выстроить так:

1. Зафиксировать дату расторжения и окно миграции. Команда должна понимать не только юридическую дату, но и технический дедлайн последней полной выгрузки.

2. Сверить SLA с реальным функционалом. Если договор обещает JSON, а в интерфейсе есть только CSV-отчёты, это нужно выяснить до выхода.

3. Собрать каталог данных. Какие сущности, поля, вложения, связи и журналы должны попасть в экспорт.

4. Провести тестовую выгрузку. Не символические десять строк, а набор, на котором видны сложные случаи.

5. Проверить полноту и целостность. Количество записей, контрольные суммы файлов, наличие вложений, сохранение связей.

6. Прогнать тестовый импорт. Хотя бы в песочницу новой системы или промежуточное хранилище.

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

8. Назначить финальную выгрузку. С конкретной датой, ответственными и резервным окном.

9. Подписать акт передачи. В акте должны быть состав, формат, объём, дата и способ передачи данных.

10. Получить подтверждение удаления. После завершения миграции — документальное подтверждение удаления или иной согласованной обработки оставшихся данных.

Здесь нет героизма. Это обычная гигиена. Но именно она отличает контролируемую миграцию от ситуации, когда через две недели после расторжения кто-то в финансовом отделе спрашивает: «А где история счетов за прошлый год?»

Как читать SLA перед подписанием, а не после конфликта

Самая вредная привычка при покупке SaaS — читать SLA как приложение «для юристов». На самом деле это документ, который определяет вашу свободу выхода. Пока сервис нравится, цена устраивает и интеграции работают, пункт о расторжении кажется дальним. Но именно он показывает, кто контролирует данные в конце отношений.

При проверке SLA стоит смотреть на формулировки без дипломатии. «Commercially reasonable efforts» — это не обязательство. «Where technically feasible» — лазейка. «In provider’s standard format» — риск получить нечитаемый архив. «Upon mutual agreement» — зависимость от доброй воли второй стороны. «Customer may request assistance» — не то же самое, что «provider shall provide export».

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

Полезно разделить проверку на три слоя.

Первый слой — юридический. Есть ли право клиента получить данные после расторжения? Сохраняется ли оно при расторжении по инициативе провайдера? А при досрочном прекращении из-за спора по оплате? Бывает неприятная конструкция: если клиент нарушил условия, доступ закрывается сразу, включая экспорт. Для бизнеса это слишком жёстко. Даже при споре о платежах данные клиента не должны становиться заложником.

Второй слой — технический. Через что выполняется экспорт? Есть ли лимиты API? Можно ли выгружать вложения пакетно? Что происходит с большими объёмами? Как передаются файлы: через интерфейс, временную ссылку, защищённый канал, объектное хранилище? Как долго доступна ссылка на архив? Можно ли повторить выгрузку, если файл повреждён?

Третий слой — доказательный. Как клиент доказывает, что запросил выгрузку? Как провайдер подтверждает выполнение? Что считается дефектом? Кто подписывает акт? Какие логи и отчёты сохраняются? Без доказательного слоя спор быстро превращается в обмен фразами «мы отправляли» и «мы не получали».

Вот компактная матрица, которую удобно использовать при чтении SLA:

Раздел SLAЧто должно быть проверяемоПочему это критично
TerminationДата прекращения услуг и последствия для доступаЧтобы не получить мгновенную блокировку без окна экспорта
Data retrievalСрок доступа только для чтения после расторженияЧтобы миграция не зависела от доброй воли менеджера
Export formatsМашиночитаемые форматы и право выбора клиентаЧтобы данные можно было импортировать, а не хранить как архив
Data scopeСостав передаваемых данных, включая вложения и связиЧтобы не потерять контекст и историю процессов
API and toolsДоступность API, массовых выгрузок и админ-инструментовЧтобы экспорт был технически выполнимым на больших объёмах
Support SLAСроки реакции на запросы и дефекты выгрузкиЧтобы провайдер не отвечал после окончания окна миграции
AvailabilityДоступность сервиса и экспортных функций в grace periodЧтобы период «только для чтения» был реальным, а не номинальным
LiabilityОтветственность за срыв, задержку или непригодный форматЧтобы нарушение имело цену для провайдера
DeletionПодтверждение удаления после завершения периодаЧтобы закрыть хвосты по безопасности и compliance

Эта матрица не заменяет юриста, но помогает технической и безопаснической команде увидеть то, что юрист может пропустить: экспортный модуль, API-лимиты, вложения, кодировки, связи, журналы. Именно там обычно лежат настоящие мины.

Что должно быть в договоре до подписания

Вернёмся к началу. Проблемы с переносом данных из SaaS-сервисов редко возникают потому, что не существует технического способа выгрузить информацию. Способы есть: API, пакетный экспорт, ETL-инструменты, резервные копии, стандартные форматы. Проблема в другом: если договор не обязывает провайдера дать вам эти способы в момент расторжения, они могут оказаться недоступны.

Перед подписанием SaaS-контракта нужно добиться, чтобы SLA отвечал на конкретные вопросы.

Есть ли у клиента право на выгрузку данных при любом сценарии расторжения — плановом, досрочном, по инициативе клиента, по инициативе провайдера, при споре? Сколько дней сохраняется доступ только для чтения? Работают ли API и массовые выгрузки? В каких форматах передаются данные? Кто предоставляет схему? Что входит в состав данных? Как исправляются ошибки? Как продлевается окно при сбое? Какая ответственность наступает за срыв? Как подтверждается удаление?

Если провайдер спокойно отвечает на эти вопросы и готов фиксировать ответы в SLA, с ним можно разговаривать. Если вместо этого вы слышите «у нас стандартный договор», «такого ни у кого нет», «при необходимости поможем», «это решается через поддержку» — это не мелкая переговорная шероховатость. Это предупреждение.

Особенно осторожно стоит относиться к поставщикам, которые охотно продают дополнительные модули, интеграции и кастомизацию, но уклоняются от темы выхода. Чем глубже SaaS встраивается в процессы компании, тем дороже будет миграция. И тем опаснее контракт, в котором вход расписан до последней скидки, а выход описан одной туманной строкой.

Финальная позиция здесь простая. Данные не должны быть инструментом удержания клиента. Если SaaS-провайдер уверен в качестве продукта, он не боится прописать нормальный возврат данных из SaaS-сервиса. А если боится — это тоже информация для закупки, безопасности и бизнеса.

SLA на миграцию данных — не бюрократическое приложение. Это аварийный выход. Его проверяют не тогда, когда в здании дым, а до того, как подписали договор аренды.

Материалы сети: krugozorclub.com.

Частые вопросы

Ловушка «последнего дня»: почему доступ к данным исчезает мгновенно?
Классическая ситуация: компания решила перейти на другую платформу.
Стандарты переносимости: какие форматы данных требовать от вендора?
Вторая ловушка мягче, но неприятнее: данные вам вроде бы отдали, только использовать их невозможно.