Public Knowledge Base (Public KB) — это часть вашей базы знаний, доступная без авторизации через прямую ссылку, виджет или iframe. Сюда попадают только статьи, которые вы явно пометили публичными.
Зачем:
- Самообслуживание клиентов — клиенты находят ответы сами, без обращения в саппорт
- SEO — публичные статьи индексируются Google и другими поисковиками
- Демо — потенциальные клиенты читают документацию до покупки
- Партнёры — доступ к технической документации без необходимости заводить аккаунты
#Как статья становится публичной
Публичность включается двумя настройками — на уровне статьи и на уровне организации. Пока не выполнены обе, анонимные посетители статью не увидят.
public попадают в анонимный доступ; internal / draft / inherit скрыты. Пометить статью публичной можно только в корпоративном пространстве — в приватном и личном публикация заблокирована.public.«Публичного пространства» как типа нет. Пространства бывают только Корпоративное / Приватное / Личное. Статья становится видимой не переносом в особое пространство, а флагом
publish_state=public(в корпоративном пространстве) при включённом публичном режиме организации.
Эта двойная защита — гарантия от случайного «протаскивания» приватной информации наружу. Поставить publish_state=public можно только в корпоративном пространстве; в приватном и личном эта опция заблокирована.
#Состояния publish_state (ADR 0029)
LiKE использует поле publish_state (заменяет старое поле visibility). Четыре состояния:
| Состояние | Кто видит | Примечание |
|---|---|---|
| draft | Только автор и редакторы пространства | Черновик — не виден команде и не участвует в поиске |
| inherit | Наследует уровень видимости от родительской коллекции/пространства | ADR 0029 |
| internal | Все авторизованные участники пространства | Виден команде (значение по умолчанию для новых статей) |
| public | Все, включая анонимных через Public KB | Кнопка «Опубликовать» в редакторе — только в корпоративном пространстве |
В UI цвет состояния показан dot-индикатором:
Эти же badge'и видны в списке статей в Управлении статьями.
#Виртуальное пространство __public__
Когда анонимный пользователь открывает Public KB через прямую ссылку или виджет, технически он не находится ни в одном из ваших пространств. Вместо этого LiKE использует виртуальное «пространство» __public__ — sentinel-значение, которое:
- Не существует в БД как реальное пространство (тип
public— легаси, мигрирован вcorporate) - Включает в себя все статьи с
publish_state='public'из корпоративных пространств организации - Используется для фильтрации в RAG-поиске анонимного юзера
- В SpaceSwitcher отображается как «🌐 Публичные статьи» (если у пользователя есть и приватные пространства)
Если вы — авторизованный участник, переключитесь на __public__ в SpaceSwitcher, чтобы видеть ровно тот же набор статей, что и анонимный посетитель — это удобно для проверки «что я случайно опубликовал».
#Настройка (пошагово)
#Шаг 1 — Разместите статьи в корпоративном пространстве
Публиковать наружу можно только из корпоративного пространства (в приватном и личном публикация заблокирована). Если статьи в другом пространстве — переместите их в корпоративное: по одной через контекстное меню статьи → Переместить, или массово (чекбоксы → Переместить). При создании пространства доступны типы Корпоративное и Приватное; «Личное» — системное.
#Шаг 2 — Сделайте статьи публичными
Переведите нужные статьи в publish_state = public (см. Управление статьями):
- Массово — выделите чекбоксами → кнопка-глобус (🌐) на панели действий → Публичный
- Одна статья — меню «⋮» → «Видимость: …» → Публичная; в режиме «Дерево» — контекстное меню → «Сделать публичной»
- В редакторе — кнопка «Опубликовать» в шапке
После этого статус-индикатор станет зелёным и появится бейдж 🌐 Публичная. Если в статье есть персональные данные, откроется окно подтверждения — см. раздел «Проверка персональных данных при публикации» ниже.
#Шаг 3 — Включите публичный режим организации
Настройки → Организация → Режим доступа → выберите «Публичный».
- Публичный — анонимные пользователи видят на публичном адресе статьи, помеченные как публичные; приватные пространства остаются доступны только по приглашению.
- Корпоративное — всё доступно только авторизованным участникам; внешние пользователи без входа не видят ничего, даже статьи, помеченные публичными.
Без включённого режима «Публичный» публичный адрес закрыт — этот шаг обязателен.
#Шаг 4 — Публичный адрес и каналы
Готовую публичную базу открывают тремя способами:
- Публичный портал — корень вашего адреса
https://<ваш-slug>.lynkora.pro: поиск, AI-ответы и чтение статей без входа. Отдельная статья — по ссылке/kb/<slug-статьи>. - JS-виджет — встраивается на ваш сайт; код виджета берётся в Интеграции → Каналы (карточка «JS Widget»).
- iframe — встраивание полного интерфейса поиска на страницу.
Отдельной вкладки «Публичная KB» в настройках больше нет (ADR 0029): публичность теперь задаётся флагом статьи + режимом организации, а не белым списком источников. Управление виджетами — в Интеграции → Каналы.
#Проверка персональных данных при публикации
При переводе статьи в публичную LiKE автоматически проверяет её на персональные данные (ПДн). Если они найдены, публикация приостанавливается и открывается окно «Обнаружены персональные данные» — прежде чем статья станет доступна всем без входа.
Когда срабатывает: только при публикации (перевод в public, анонимный доступ). Для internal, draft и inherit проверка не выполняется. Работает на всех путях публикации: кнопка «Опубликовать» в редакторе, «Сделать публичной» в списке/дереве, массовая смена видимости и публикация коллекции/пространства.
Что распознаётся (детерминированно, по шаблонам):
- Эл. почта
- Телефон
- Платёжная карта (проверка по алгоритму Луна)
- IBAN (проверка по контрольной сумме)
- IP-адрес
- Дата рождения
Особые категории (здоровье, биометрия и др., GDPR ст. 9) пока не распознаются автоматически — в окне показывается только предупреждение о повышенной ответственности за их публикацию.
Как выглядит окно:
- Заголовок «Обнаружены персональные данные» и список найденных типов с количеством (суммарно по всем публикуемым статьям).
- Обязательный чекбокс-подтверждение: инструмент помогает выявить ПДн, но не гарантирует полноту; ответственность за законность публикации и наличие оснований/согласий — на вас как контролёре данных.
- Кнопки «Отмена» и «Опубликовать» (последняя активна только после отметки чекбокса).
После подтверждения: статья публикуется, а факт подтверждения фиксируется в журнале действий (pii_public_ack) с типами найденных данных — без сохранения самого текста ПДн (privacy-by-design). Подтверждение привязано к текущей версии статьи: если после этого отредактировать текст, потребуется подтвердить заново.
Кто может подтверждать: те же роли, что и публикуют, — Редактор и выше в пространстве статьи (Владелец и Администратор — всегда). Массовая публикация всех статей источника — только Владелец/Администратор.
#Виджеты для Public KB (dual-auth, ADR 0032)
LiKE поддерживает два режима аутентификации виджетов — выбирается при создании виджета в Интеграции → Виджеты:
#Режим 1 — Allowed paths (для публичных сайтов)
Виджет, встраиваемый на публичный сайт компании (лендинг, маркетинг-страницы, центр помощи). Аутентификация не требуется — виджет доступен любому посетителю.
Защита от злоупотреблений:
- Список разрешённых URL (allowed paths) — где этот api-key валиден. Например,
https://yoursite.com/*иhttps://docs.yoursite.com/*. Запросы с других доменов отклоняются (CORS + check). - Public umbrella scope — виджет имеет доступ только к
__public__пространству + конкретным коллекциям из этого пространства, заданным при создании. - Rate limit на api-key — защита от ботов.
#Режим 2 — Session JWT (для корпоративного сайта с авторизацией)
Виджет, встраиваемый на внутренний портал компании, где у пользователей уже есть авторизация. Виджет принимает session JWT и видит ровно то, что видит этот пользователь.
Применение:
- Виджет на корпоративном Intranet → каждый сотрудник видит свои пространства
- Embed в SaaS-приложении (например, в CRM) — пользователь видит документацию своей роли
#Multi-widget per tenant (ADR 0029 Stage 4)
В организации можно создать несколько виджетов с разными scope:
- Один — публичный, для маркетингового сайта (allowed paths)
- Другой — корпоративный, для intranet (session JWT)
- Третий — для конкретной коллекции (например, только FAQ для центра поддержки)
Каждый виджет имеет свой api-key, scope и режим аутентификации. См. Интеграции → Виджеты и API и виджет для деталей.
#Что видят анонимные посетители
| Элемент | Виден? |
|---|---|
Статьи с publish_state=public в корпоративных пространствах |
✅ Да |
| AI-поиск по этим статьям | ✅ Да |
| Каталог публичных коллекций | ✅ Да |
| Краткая ссылка на share / embed (если включено для статьи) | ✅ Да |
| Баннер «Войти для полного доступа» (если виджет анонимный) | ✅ Да |
Статьи internal, draft, inherit |
❌ Нет |
| Статьи из приватных пространств | ❌ Нет |
| История запросов / Рекомендации (личные) | ❌ Нет |
| Админ-панель, Корзина, Журнал, Аналитика | ❌ Нет |
Анонимный поиск по умолчанию использует client-fingerprint cookie для базовой rate-limiting, но не привязывает запрос к user account.
#Скрытие отдельных коллекций
В корпоративном пространстве не все коллекции обязательно должны быть видны анонимам. Можно скрыть конкретные коллекции:
- Контекстное меню коллекции → Свойства
- Поле
publish_stateколлекции:- inherit — наследует от пространства (по умолчанию)
- internal — скрыта от анонимов, видна команде
- public — явно публичная (только в корпоративном пространстве, иначе блокируется)
Это даёт гибкость: например, в корпоративном пространстве «Документация» можно держать черновики в коллекции Internal Drafts с publish_state=internal — они невидимы наружу, но доступны вашим редакторам.
#Встраивание на сайт
Public KB можно интегрировать в сайт тремя способами:
| Способ | Описание |
|---|---|
| Прямая ссылка | https://<slug>.lynkora.pro — полноценный портал-сайт со списком статей, AI-поиском, навигацией |
| JS-виджет | Плавающая кнопка в углу любой страницы; раскрывается в AI-чат и поиск; настройка поведения, а на планах с white-label — и брендинга |
| iframe | Встроенный блок (например, страница «Помощь» внутри вашего приложения) — полный интерфейс LiKE в рамке |
| REST API | Прямые запросы из вашего backend через api-key — для интеграции в собственные UI |
Подробности по каждому — API и виджет и Интеграции.
#White-label и собственный домен
Публичная база знаний доступна с дефолтным адресом slug.lynkora.pro. Расширенные возможности портала — white-label (без брендинга LiKE) и подключение собственного домена (Настройки → Домен) — входят в состав планов, где включён white-label. Отдельного платного add-on для этого нет.
Какие возможности на каких планах доступны и по какой цене — смотрите на странице Тарифы и в вашей админ-панели.