Блог

Как сделать SaaS без своей базы данных — и не нарушить 152-ФЗ

·~2 мин чтения·SeoForge

Большинство SaaS-сервисов — это «база данных с интерфейсом». Юзер логинится, грузит документы, мы храним всё на сервере. Это самая дорогая часть инфраструктуры (бэкапы, GDPR, 152-ФЗ, гарантии) и самая медленная для разработки.

В SeoForge мы пошли другим путём. Хранится только связка customer_id ↔ plan ↔ expires_at. Всё остальное — в браузере. Вот как это сделано и какие задачи это закрывает.

Что хранится на сервере

Всего 3 поля в Cloudflare D1:

CREATE TABLE customers (
  customer_id TEXT PRIMARY KEY,
  email       TEXT NOT NULL,
  plan        TEXT NOT NULL DEFAULT 'free',
  expires_at  INTEGER NOT NULL
);

И ещё одна таблица — лог платёжных вебхуков (для аудита платежей). Всё.

Что НЕ хранится

  • Тексты ваших брифов — генерируются LLM и сразу отдаются юзеру
  • CSV редиректов — парсятся в браузере через Papa Parse, на сервер не уходят
  • JSON-LD разметка — рендерится в браузере на чистом TypeScript
  • OG-картинки — рендерятся по URL-параметрам через next/og и кэшируются на CDN без привязки к юзеру

Почему это работает

Все 4 инструмента — stateless. Каждый запрос юзера — это вход → обработка → выход. Никакая история не нужна.

Если истории нет — то и базу хранить нечего. Если базы нет — нет 152-ФЗ, нет GDPR-проблем, нет бэкапов, нет инцидентов утечки.

Что мы теряем

  • Сохранённые проекты — у юзера нет «моих сохранённых брифов на сервере». Если хочет сохранить — копирует в Notion или скачивает .md файл.
  • Командная работа — нет шаринга проектов между членами команды на нашем сервере. Шарят через свои инструменты (Notion, Slack).
  • Аналитика для юзера — нет дашборда «сколько ты сгенерил». Юзер сам считает (или не считает).

Что мы выигрываем

  • Скорость разработки. 4 инструмента за 4 месяца одним разработчиком — потому что не пишем CRUD, миграции, бэкапы.
  • Дешёвая инфраструктура. Cloudflare D1 + Pages + Workers — $5/мес для 5000 платящих. Без D1 было бы $100-300 (Postgres + бэкапы + мониторинг).
  • 152-ФЗ под кэп. Юзерский контент не хранится — значит не обрабатываем ПД в смысле закона.

Когда так нельзя

Если твой продукт — CRM, заметки, документы, чат, файлохранилище — без своей БД не обойтись. Юзер заходит, хочет видеть «свои данные».

Но если продукт — генератор, конвертер, калькулятор, валидатор — попробуй обойтись без БД. Это в разы быстрее в разработке и сильно дешевле в поддержке.

Стек SeoForge

  • Next.js 15 + React 19 — frontend
  • Cloudflare Pages — хостинг ($0 до 100k запросов/день)
  • Cloudflare D1 — единственная база (3 поля)
  • Cloudflare Workers/api/og (динамический рендер картинок)
  • Lava.top — платежи
  • Resend — magic-link email
  • Claude Haiku 4.5 — генерация брифов (~$0.001 за бриф)

Стоимость инфры на 5000 платящих юзеров с MRR ~$95k — около $50/мес.

Главный вывод

Если ты делаешь SaaS — задай себе вопрос: «а нужно ли хранить пользовательский контент?». Если нет — не храни. Это снимет 70% инфраструктурных затрат и юридических проблем.

Понравилась статья?

Подпишись — пришлём 1 письмо в 2 недели, без спама.

← Все статьи