Open-source и свой сервер 4 мин чтения

Клиент согласует пост по ссылке: свой SMM-планировщик BrightBean

BrightBean Studio ставится на свой сервер и даёт клиенту согласовать пост по ссылке из письма. Разбираю лицензию AGPL, ключи площадок, хранение токенов и пилот на двух сетях.

BrightBean StudioSMMAGPLopen source
Коротко. BrightBean Studio (репозиторий brightbeanxyz/brightbean-studio, лицензия AGPL-3.0) это планировщик публикаций, который агентство ставит на свой сервер. Клиент согласует пост по ссылке из письма, пароль ему не нужен. Основная работа уходит на ключи разработчика: для Meta* (Meta признана экстремистской организацией и запрещена в РФ), то есть Facebook*, Instagram* и Threads*, и для TikTok нужны свои приложения и проверка площадки, сроки зависят от площадки, уточняйте. Токены клиентов лежат в базе зашифрованными. Если вы меняете код, AGPL требует открыть изменения пользователям сервиса, это вопрос к юристу. Доступность сетей из России и оплату уточняйте.
Хотите внедрить это у себя?

Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.

Развернуть SMM-планировщик с согласованием под ключ

Согласование «ок?» в мессенджере

Пост написан, картинка готова. Клиент отвечает через два дня «ок», потом просит поменять второй абзац, потом выясняется, что он имел в виду другую картинку. Через неделю никто не помнит, какая версия была одобрена.

В BrightBean Studio пост уходит клиенту на проверку, клиент нажимает кнопку, действие записывается. Общие обзоры похожих планировщиков у меня уже есть: Postiz, Mixpost и перепродажа под своим брендом. Здесь другое: согласование по ссылке, AGPL и ключи площадок.

Что за проект и что я проверил

Проверял 23.10.2026 по репозиторию. Файл LICENSE содержит текст GNU AGPL версии 3. Репозиторий создан 25.03.2026, не архивирован, около 2,6 тысячи звёзд, 645 коммитов, последний коммит от 17.10.2026. Раздел Releases пуст, тегов нет: вы ставите ветку main и сами решаете, какой коммит считать рабочим.

В README заявлено «No paid tier, no feature gate». В коде есть необязательная интеграция Intelligence с оплатой через Stripe: в примере .env она отключена, пока не заданы переменные. Её условия я не проверял. Есть и бесплатная хостируемая версия на brightbean.xyz/studio, где она хранит данные, на странице не сказано.

Стек: Django, PostgreSQL 16 и новее. Лицензии библиотек из requirements.txt я не проверял.

Согласование по ссылке без пароля

Этапы настраиваются: без согласования, необязательное, внутреннее, внутреннее плюс клиент. Для клиента есть роль Client. По таблице прав в коде она может согласовывать посты и смотреть аналитику, а создавать, править и публиковать не может.

Клиенту приходит письмо со ссылкой. По коду ссылка живёт 30 дней и срабатывает один раз. При открытии сначала показывается страница подтверждения, чтобы почтовый сканер не сжёг ссылку. После нажатия создаётся сессия на 30 дней, новая ссылка отменяет прежние. В кабинете клиент видит очередь и может одобрить пост, попросить правки, отклонить его или поставить на паузу уже одобренный. Внутренних комментариев команды он не видит. Каждое действие попадает в журнал согласований с именем пользователя.

Оговорка: «без аккаунта» здесь значит «без пароля». Запись с адресом клиента в системе есть. Чтобы письма уходили, нужен SMTP.

Главное препятствие: ключи и проверка приложений

Студия ходит в API площадок напрямую, приложения регистрируете вы.

Для Meta* нужно бизнес-приложение с четырьмя сценариями и набором разрешений, у Threads* свои App ID и Secret. В разделе про сообщения Instagram* README пишет: для внешних клиентов нужны App Review, Advanced Access и верификация бизнеса, плюс запись экрана для проверяющих. У TikTok свои Client Key и Secret, для боевого режима нужно демо-видео по каждому запрошенному праву. LinkedIn**: личные профили подключаются через продукты, которые одобряются автоматически, но токен живёт около 60 дней без продления. Страницы компаний требуют Community Management API, он помечен как restricted и проходит проверку LinkedIn**.

Bluesky подключается по логину и паролю приложения, Mastodon сам регистрирует приложение на инстансе, DEV.to работает по API-ключу. Регистрировать приложение для них не нужно.

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

Где лежат токены клиентов

По коду apps/common/encryption.py токены доступа и обновления, а также секреты приложений шифруются AES-256-GCM. Ключ выводится из SECRET_KEY и ENCRYPTION_KEY_SALT. Моё прочтение: это защита от утечки дампа базы, а кто получил и базу, и переменные окружения сервера, расшифрует всё. Если потерять SECRET_KEY или соль, расшифровка вернёт ошибку, и каждому клиенту придётся заново подключать сети. Храните оба значения в менеджере секретов и в резервной копии отдельно от базы, как в статье про общие пароли команды.

Двухфакторный вход (TOTP) в README числится в планах, сейчас его нет. Журнал публикаций хранится 90 дней.

AGPL, если вы ставите это клиентам

Пункт 13 текста лицензии говорит: если вы изменили программу, ваша версия должна предложить всем, кто работает с ней по сети, получить исходный код. Допустим, вы подключаете свою CRM прямо в код. Пользователями сервиса окажутся ваши клиенты и сотрудники, и им нужно дать доступ к исходникам вашей версии. Логотип и цвета по рабочим пространствам настраиваются штатно, без правки кода.

Юридических выводов я не делаю. Как это ложится на договор с клиентом, вопрос к юристу.

Чего нет и что с доступностью из России

Нет релизов и двухфакторного входа. На эфемерных хостингах нужен S3. При локальном хранении загрузки отдаются без авторизации, потому что площадки сами забирают файлы по ссылке. Instagram* работает только с профессиональными аккаунтами. Зависшая публикация помечается неудачной и сама не повторяется.

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

Чек-лист из семи пунктов и пилот

  1. Выберите одного клиента и две сети без проверки приложения: Bluesky и личный профиль LinkedIn**.
  2. Поднимите Docker Compose на своём домене (он нужен для OAuth-колбэков) с PostgreSQL и SMTP.
  3. Сохраните SECRET_KEY и соль отдельно от базы, настройте копию базы.
  4. Создайте приложение LinkedIn** и пароль приложения Bluesky, подключите обе сети.
  5. Включите этап «внутреннее плюс клиент», заведите клиента с ролью Client и отправьте ссылку.
  6. Месяц ведите посты клиента этим путём и считайте, сколько «ок?» осталось в мессенджере.
  7. Параллельно подайте заявку в Meta* и TikTok и запишите дату подачи и ответ площадки.

На ручном режиме до проверки остаются Meta* и TikTok, входящие сообщения и видео для площадок без одобрения. Развернуть и настроить такую связку под ключ я могу в рамках автоматизации бизнеса, цены ищите на странице прайса.

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

Можно ли взять хостируемую версию вместо своего сервера?

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

Нужен ли клиенту аккаунт для согласования?

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

Сколько это стоит?

Лицензия бесплатная. Вы платите за сервер, почту и время на получение ключей. Стоимость моей работы зависит от объёма.

Коротко о главном

BrightBean Studio под AGPL-3.0 заменяет переписку «ок?» ссылкой с кнопками и журналом. Сложная часть лежит на стороне площадок: ключи, проверки приложений, срок жизни токенов. Начните с двух сетей без проверки и одного клиента.

Если хотите, чтобы я развернул пилот и составил список ключей под ваших клиентов, напишите мне в Telegram кодовое слово «ОДОБРЕНО».

Ещё open-source для бизнеса

Эта статья — часть каталога бесплатных решений, которые я разворачиваю на вашем сервере под ключ: CRM, аналитика, документы, почта, безопасность, магазины, AI.

Обсудим вашу задачу

Что я делаю для бизнеса

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

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ
Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх