Патчнот из рабочего чата, пересланный юристу в Telegram за два часа до отправки билда на модерацию, — стандартная ситуация в геймдев-студии. Юрист читает его с телефона, стоя в пробке, и пропускает строчку про «новые кейсы в магазин». Платформа отклоняет билд: в описании механики не раскрыты проценты дропа, что нарушает требования к лутбоксам. Студия теряет дату релиза и деньги.

Именно этот сценарий стал отправной точкой для Анны — юриста с 14-летним стажем, из которых семь лет она специализируется на IT и интеллектуальной собственности. Вместо того чтобы нанимать второго юриста или мириться с задержками, она открыла Cursor и начала писать код. Без профессионального опыта разработки, с помощью связки Cursor + Replit Agent и языковых моделей.

Первые три дня ушли на борьбу с зависимостями и попытки объяснить нейросети, чего она хочет. Ключевое архитектурное решение пришло быстро: ни одна студия не согласится отправлять предрелизные логи и коммерческую тайну в облачные API — ChatGPT, Gemini или Claude. Поэтому система с самого начала строилась как полностью изолированная, on-premise. Языковые модели запускаются локально через Ollama, внешних запросов нет.

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

Система сканирует сырой текст патчнота или описания игры, очищает его от технического мусора и сопоставляет с матрицами требований Steam TRC, Epic Games Store и Xbox. На выходе — человекочитаемый отчёт с конкретными рекомендациями. Пример из тестового прогона: «В описании механики магазина нарушены требования Steam к азартным механикам. Рекомендация: оставить механику, но убрать привязку к реальной валюте». Весь цикл занимает 14 секунд.

Подобный подход к автоматизации юридической функции не уникален по идее, но редок по исполнению. Большинство legaltech-инструментов работают с облачными API и не подходят для студий, где предрелизные материалы составляют коммерческую тайну. Локальные решения на базе Ollama с открытыми моделями — например, Llama 3.1 или Mistral — позволяют сохранить данные внутри периметра компании. Главная техническая сложность, с которой столкнулась автор, — галлюцинации: модель могла выдумывать риски там, где их нет, или пропускать реальные нарушения. Решением стала модульная, пошаговая архитектура с чёткими промптами для каждого класса проверок.

Автор называет концепцию Legal-as-a-Product: юридическая функция встраивается в пайплайн разработки и масштабируется вместе с компанией, не требуя пропорционального роста юридического штата. Для небольших и средних студий, где один юрист закрывает весь комплаенс, это прямая экономия на задержках релизов и штрафах от платформ.