Public Knowledge Base (Public KB) — это часть вашей базы знаний, доступная без авторизации через прямую ссылку, виджет или iframe. Сюда попадают статьи, которые вы явно пометили публичными.
Зачем:
- Самообслуживание клиентов — клиенты находят ответы сами, без обращения в саппорт
- SEO — публичные статьи индексируются Google и другими поисковиками
- Демо — потенциальные клиенты читают документацию до покупки
- Партнёры — доступ к технической документации без необходимости заводить аккаунты
#Как статья становится публичной
Публичность включается двумя настройками — на уровне статьи и на уровне организации. Пока не выполнены обе, анонимные посетители статью не увидят.
public и статьи inherit внутри публичной папки; internal и draft скрыты. Пометить статью публичной можно только в корпоративном пространстве — в приватном и личном публикация заблокирована.public.«Публичного пространства» как типа нет. Пространства бывают только Корпоративное / Приватное. Статья становится видимой не переносом в особое пространство, а флагом
publish_state=public(в корпоративном пространстве) при включённом публичном режиме организации.
Эта двойная защита — гарантия от случайного «протаскивания» приватной информации наружу. Поставить publish_state=public можно только в корпоративном пространстве; в приватном эта опция заблокирована.
#Состояния publish_state (ADR 0029)
LiKE использует поле publish_state (заменяет старое поле visibility). Четыре состояния:
| Состояние | Кто видит | Примечание |
|---|---|---|
| draft | Только автор и редакторы пространства | Черновик — не виден команде и не участвует в поиске |
| inherit | Следует за ближайшей родительской папкой с явным состоянием; если такой нет — как internal | ADR 0029 |
| internal | Все авторизованные участники пространства | Виден команде (значение по умолчанию для новых статей) |
| public | Все, включая анонимных через Public KB | Бейдж доступа рядом с заголовком статьи — только в корпоративном пространстве |
В UI цвет состояния показан dot-индикатором:
Эти же badge'и видны в списке статей в Управлении статьями.
#Виртуальное пространство __public__
Когда анонимный пользователь открывает Public KB через прямую ссылку или виджет, технически он не находится ни в одном из ваших пространств. Вместо этого LiKE использует виртуальное «пространство» __public__ — sentinel-значение, которое:
- Не существует в БД как реальное пространство (тип
public— легаси, мигрирован вcorporate) - Включает в себя статьи, публичные сами по себе или по наследованию от публичной папки
- Используется для фильтрации в 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 или через inherit внутри публичной папки. Для internal и draft проверка не выполняется. Работает на всех путях, а не только на кнопке «Опубликовать»: бейдж доступа в редакторе, «Сделать публичной» в списке и дереве, массовая смена видимости, публикация папки (в том числе вместе с содержимым), перенос статьи или папки в публичную папку, копирование, восстановление из корзины и включение статьи.
Что распознаётся (детерминированно, по шаблонам):
- Эл. почта
- Телефон
- Платёжная карта (проверка по алгоритму Луна)
- IBAN (проверка по контрольной сумме)
- IP-адрес
- Дата рождения
Особые категории (здоровье, биометрия и др., GDPR ст. 9) пока не распознаются автоматически — в окне показывается только предупреждение о повышенной ответственности за их публикацию.
Группа статей спрашивается один раз. Массовая смена видимости, публикация папки, перенос и восстановление показывают одно окно «Персональные данные в публикуемых статьях»: сводка по типам данных (сколько вхождений и в скольких статьях), список статей с поиском по названию, «Отметить все» / «Снять все» и счётчик отмеченных.
- Отмеченные статьи публикуются. При открытии отмечены все — снимите отметку с тех, что публиковать не нужно: они останутся внутренними и за папкой не последуют.
- Кнопки — «Опубликовать N» и «Отмена». При отмене ничего не происходит, и LiKE говорит об этом прямо.
- Подтверждение, данное в групповом окне, записывается в журнал по каждой статье отдельно.
Статьи, снятые коннектором сайта, поштучного подтверждения не требуют: при подключении владелец подтверждает права на сайт и законность публикации персональных данных с него. Подключите сайт заново с ответом «Внутренними» — согласие снимается, и проверка снова работает как обычно.
Фоновые действия — синхронизация коннектора, импорт, перестройка структуры — спросить никого не могут, поэтому статью с неподтверждёнными персональными данными они не публикуют: она остаётся внутренней, а в журнале появляется запись об этом. Опубликовать её можно вручную, пройдя обычную проверку.
Как выглядит окно одной статьи:
- Заголовок «Обнаружены персональные данные» и список найденных типов с количеством (суммарно по всем публикуемым статьям).
- Обязательный чекбокс-подтверждение: инструмент помогает выявить ПДн, но не гарантирует полноту; ответственность за законность публикации и наличие оснований/согласий — на вас как контролёре данных.
- Кнопки «Отмена» и «Опубликовать» (последняя активна только после отметки чекбокса).
После подтверждения: статья публикуется, а факт подтверждения фиксируется в журнале действий (pii_public_ack) с типами найденных данных — без сохранения самого текста ПДн (privacy-by-design). Подтверждение привязано к текущей версии статьи: если после этого отредактировать текст, потребуется подтвердить заново.
Кто может подтверждать: те же роли, что и публикуют, — Редактор и выше в пространстве статьи. Владелец организации — всегда; Администратор организации — в корпоративных пространствах и в приватных, где он участник с ролью Редактор или Администратор. Массовая публикация всех статей источника — только Владелец/Администратор.
#Виджеты для Public KB (dual-auth, ADR 0032)
LiKE поддерживает два режима аутентификации виджетов — выбирается при создании виджета в Интеграции → Каналы → JS Widget:
#Режим 1 — Allowed paths (для публичных сайтов)
Виджет, встраиваемый на публичный сайт компании (лендинг, маркетинг-страницы, центр помощи). Аутентификация не требуется — виджет доступен любому посетителю.
Защита от злоупотреблений:
- Адреса сайта — где виджет работает. Например,
yoursite.com, docs.yoursite.com(адрес без схемы получаетhttps://). Звёздочка не принимается; запросы с других адресов отклоняются. - 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 и статьи inherit в публичных папках |
Да |
| AI-поиск по этим статьям | Да (при исчерпанном AI-объёме организации — поиск статей по смыслу без AI-ответа) |
| Каталог публичных коллекций | Да |
| Краткая ссылка на share / embed (если включено для статьи) | Да |
| Баннер «Войти для полного доступа» (если виджет анонимный) | Да |
Статьи internal, draft и inherit вне публичных папок |
Нет |
| Статьи из приватных пространств | Нет |
| История запросов / Рекомендации (личные) | Нет |
| Админ-панель, Корзина, Журнал, Аналитика | Нет |
Анонимный поиск по умолчанию использует client-fingerprint cookie для базовой rate-limiting, но не привязывает запрос к user account.
#Скрытие отдельных коллекций
В корпоративном пространстве не все коллекции обязательно должны быть видны анонимам. Можно скрыть конкретные коллекции:
- Контекстное меню коллекции → «Сделать публичной» / «Сделать внутренней»
- Состояние коллекции:
- 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 для этого нет.
Какие возможности на каких планах доступны и по какой цене — смотрите на странице Тарифы и в вашей админ-панели.