**공개 지식 베이스(Public KB)**는 직접 링크, 위젯 또는 iframe을 통해 로그인 없이 접근할 수 있는 지식 베이스의 일부입니다. 명시적으로 공개로 표시한 문서가 여기에 포함됩니다.
이유:
- 고객 셀프 서비스 — 고객이 지원팀에 문의하지 않고 스스로 답을 찾습니다
- SEO — 공개 문서는 Google 및 기타 검색 엔진에 색인됩니다
- 데모 — 잠재 고객이 구매 전에 문서를 읽습니다
- 파트너 — 계정을 만들 필요 없이 기술 문서에 접근합니다
#문서가 공개되는 방법
공개 여부는 두 가지 설정으로 활성화됩니다 — 하나는 문서 수준, 다른 하나는 조직 수준입니다. 두 가지가 모두 갖춰지기 전까지는 익명 방문자에게 문서가 표시되지 않습니다.
public 상태의 문서와 공개 폴더 안의 inherit 문서가 익명 접근에 도달합니다; internal과 draft는 숨겨집니다. 문서는 Corporate 스페이스에서만 공개로 표시할 수 있습니다 — Private 스페이스에서는 게시가 차단됩니다.public 상태의 문서라도 마찬가지입니다."공개" 스페이스 유형은 존재하지 않습니다. 스페이스는 Corporate / Private뿐입니다. 문서는 특수한 스페이스로 이동해서 공개되는 것이 아니라, (Corporate 스페이스에서)
publish_state=public플래그와 조직의 공개 접근 모드가 함께 켜져 있어야 공개됩니다.
#publish_state 상태(ADR 0029)
LiKE는 publish_state 필드를 사용합니다(이전의 visibility 필드를 대체합니다). 네 가지 상태:
| 상태 | 볼 수 있는 사람 | 참고 |
|---|---|---|
| draft | 작성자와 스페이스 편집자만 | 초안 — 팀에 표시되지 않으며 검색에 포함되지 않음 |
| inherit | 명시적 상태를 가진 가장 가까운 상위 폴더를 따릅니다; 그런 상위가 없으면 — internal과 같이 | ADR 0029 |
| internal | 스페이스의 모든 인증된 구성원 | 팀에 표시됨(신규 문서의 기본값) |
| public | 공개 지식 베이스를 통한 익명 사용자를 포함한 모든 사람 | 문서 제목 옆의 접근 권한 배지 — Corporate 스페이스에서만 |
UI에서 상태의 색상은 점 표시기로 나타납니다:
동일한 배지가 문서 관리의 문서 목록에도 표시됩니다.
#가상 __public__ 스페이스
익명 사용자가 직접 링크 또는 위젯을 통해 공개 지식 베이스를 열면, 기술적으로 그들은 여러분의 어떤 스페이스에도 속해 있지 않습니다. 대신 LiKE는 다음과 같은 가상 "스페이스" __public__ 를 사용합니다 — 이는 센티널 값으로:
- 실제
ArticleCollection.type='public'으로 데이터베이스에 존재하지 않습니다 - 문서 자체가 공개이거나 공개 폴더로부터 상속받아 공개인 문서를 포함합니다
- 익명 사용자의 RAG 검색에서 필터링에 사용됩니다
- (사용자에게 비공개 스페이스도 있는 경우) SpaceSwitcher에 " 공개 문서"로 표시됩니다
인증된 구성원이라면 SpaceSwitcher에서 __public__으로 전환하여 익명 방문자가 보는 것과 정확히 동일한 문서 집합을 확인할 수 있습니다 — 이는 "내가 실수로 무엇을 게시했는지" 확인하는 데 편리합니다.
#설정(단계별)
#1단계 — Corporate 스페이스에 문서 배치
외부 게시는 Corporate 스페이스에서만 가능합니다(Private 스페이스에서는 게시가 차단됩니다). 문서가 다른 스페이스에 있다면 Corporate 스페이스로 이동하세요: 개별로는 문서의 컨텍스트 메뉴 → 이동, 일괄로는(체크박스 → 이동). 스페이스 유형은 Corporate와 Private입니다; 별도의 "Personal" 유형은 없습니다 — 누군가를 초대하기 전까지 스페이스는 비공개로 유지됩니다.
#2단계 — 문서를 공개로 만들기
필요한 문서를 publish_state = public으로 전환합니다(문서 관리 참조):
- 일괄 — 체크박스로 선택 → 작업 표시줄의 지구본() 버튼 → Public
- 단일 문서 — "⋮" 메뉴 → "가시성: …" → Public; "트리" 모드에서는 — 컨텍스트 메뉴 → "공개로 만들기"
- 편집기에서 — 문서 제목 옆의 접근 권한 배지
그 후 상태 표시기가 녹색으로 바뀌고 Public 배지가 나타납니다. 문서에 개인정보가 포함되어 있으면 확인 대화 상자가 열립니다 — 아래 "게시 전 개인정보 확인"을 참조하세요.
#3단계 — 조직의 공개 모드 켜기
설정 → 조직 → 접근 모드 → **"공개"**를 선택합니다.
- 공개 — 익명 사용자는 공개 주소에서 공개로 표시된 문서를 봅니다; 비공개 스페이스는 초대를 통해서만 계속 이용할 수 있습니다.
- 기업용 — 모든 것이 로그인한 구성원에게만 제공됩니다; 로그인하지 않은 외부 사용자는 공개로 표시된 문서라도 아무것도 볼 수 없습니다.
"공개" 모드가 활성화되지 않으면 공개 주소는 닫혀 있습니다 — 이 단계는 필수입니다.
공개 모드는 이를 포함하는 요금제에서만 작동합니다. 요금제에 공개 접근이 없으면 "공개" 버튼이 "공개 액세스는 현재 요금제에 포함되어 있지 않습니다. 익명 방문자는 포털을 볼 수 없습니다." 안내와 함께 비활성화됩니다. 요금제를 낮추면 익명 방문자에 대한 포털이 자동으로 닫히고, 적합한 요금제로 돌아가면 다시 열립니다 — 선택한 모드는 초기화되지 않습니다.
#4단계 — 공개 주소 및 채널
준비된 공개 지식 베이스를 여는 방법은 세 가지입니다:
- 공개 포털 — 주소의 루트
https://<your-slug>.lynkora.pro: 로그인 없이 검색, AI 답변 및 문서 읽기. 개별 문서는/kb/<article-slug>에 있습니다. - JS 위젯 — 웹사이트에 삽입됨; 위젯 코드는 통합 → 채널("JS 위젯" 카드)에서 가져옵니다.
- iframe — 전체 검색 인터페이스를 페이지에 삽입.
이제 설정에 별도의 "Public KB" 탭은 없습니다(ADR 0029): 공개 여부는 이제 소스 화이트리스트가 아니라 문서 플래그 + 조직 모드로 설정됩니다. 위젯은 통합 → 채널에서 관리됩니다.
#게시 전 개인정보 확인
문서를 공개로 전환하면 LiKE는 해당 문서에서 **개인정보(PII)**를 자동으로 검사합니다. 개인정보가 발견되면 게시가 일시 중지되고 "개인정보 감지됨" 대화 상자가 표시됩니다 — 문서가 로그인 없이 모든 사람에게 접근 가능해지기 전에 말입니다.
작동 시점: 문서가 익명으로 접근 가능해질 때 — public으로 전환되거나 공개 폴더 안에서 inherit를 통해서. internal과 draft에 대해서는 실행되지 않습니다. "게시" 버튼에서만이 아니라 모든 경로에서 작동합니다: 편집기의 접근 권한 배지, 목록과 트리의 "공개로 전환", 일괄 가시성 변경, 폴더 게시(콘텐츠와 함께 게시하는 경우 포함), 문서 또는 폴더를 공개 폴더로 이동, 복사, 휴지통에서 복원 및 문서 활성화.
감지 대상(결정론적, 패턴 기반):
- 이메일
- 전화번호
- 결제 카드(Luhn 체크섬)
- IBAN(체크섬 검증)
- IP 주소
- 생년월일
특수 범주(건강, 생체 정보 등, GDPR Art. 9)는 아직 자동으로 감지되지 않습니다 — 대화 상자는 이러한 정보를 게시할 때의 가중된 책임에 대한 주의만 표시합니다.
문서 그룹에 대해서는 한 번만 묻습니다. 일괄 가시성 변경, 폴더 게시, 이동 및 복원은 하나의 대화 상자 **"공개하려는 글에 포함된 개인정보"**를 표시합니다: 데이터 유형별 요약(몇 건이 몇 개의 문서에서 발견되었는지), 제목으로 검색할 수 있는 문서 목록, "모두 선택" / "선택 해제" 및 선택된 항목 수.
- 선택된 문서가 게시됩니다. 열릴 때는 모두 선택되어 있습니다 — 게시할 필요가 없는 문서는 선택을 해제하세요: 그 문서들은 내부용으로 남고 폴더를 따라가지 않습니다.
- 버튼은 **"N개 공개"**와 **"취소"**입니다. 취소하면 아무 일도 일어나지 않으며, LiKE가 이를 명확히 알려줍니다.
- 그룹 대화 상자에서 한 확인은 문서마다 개별적으로 로그에 기록됩니다.
웹사이트 커넥터가 가져온 문서는 개별 확인을 요구하지 않습니다: 연결 시 소유자가 사이트에 대한 권리와 그 사이트의 개인정보 게시의 적법성을 확인하기 때문입니다. 사이트를 "내부용" 응답으로 다시 연결하면 — 동의가 철회되고 확인이 다시 평소대로 작동합니다.
백그라운드 작업 — 커넥터 동기화, 가져오기, 구조 재구성 — 은 누구에게도 물어볼 수 없으므로, 확인되지 않은 개인정보가 있는 문서를 게시하지 않습니다: 해당 문서는 내부용으로 남고 로그에 그에 대한 기록이 남습니다. 일반적인 확인을 거쳐 수동으로 게시할 수 있습니다.
문서 하나에 대한 대화 상자의 모습:
- "개인정보 감지됨" 제목과 개수가 포함된 감지된 유형 목록(게시되는 모든 문서에 걸쳐 집계됨).
- 필수 확인 체크박스: 이 도구는 개인정보 감지를 돕지만 완전성을 보장하지는 않습니다; 데이터 컨트롤러로서 귀하는 게시의 적법성과 법적 근거 또는 동의 확보에 대한 책임을 계속 집니다.
- 취소 및 게시 버튼(체크박스를 선택한 후에만 게시가 활성화됩니다).
확인 후: 문서가 게시되고, 확인 내역이 감지된 데이터 유형과 함께 활동 로그에 기록됩니다(pii_public_ack) — 개인정보 텍스트 자체는 저장하지 않고(privacy-by-design) 말입니다. 확인은 문서의 현재 버전에 연결됩니다: 이후 텍스트를 편집하면 다시 확인해야 합니다.
확인 권한: 게시할 수 있는 것과 동일한 역할 — 문서 스페이스의 Editor 이상. 조직 Owner는 항상 가능; 조직 Admin은 기업 스페이스와, 자신이 Editor 또는 Admin 역할의 구성원인 비공개 스페이스에서 가능. 소스의 모든 문서를 일괄 게시하는 것은 Owner/Admin만 가능합니다.
#공개 지식 베이스용 위젯(dual-auth, ADR 0032)
LiKE는 위젯에 대해 두 가지 인증 모드를 지원합니다 — 통합 → 채널 → JS Widget에서 위젯을 만들 때 선택합니다:
#모드 1 — 허용된 경로(공개 사이트용)
회사의 공개 사이트(랜딩 페이지, 마케팅 페이지, 헬프 센터)에 삽입된 위젯. 인증이 필요하지 않습니다 — 위젯은 모든 방문자에게 제공됩니다.
남용 방지:
- 사이트 주소 — 위젯이 작동하는 곳. 예:
yoursite.com, docs.yoursite.com(스킴이 없는 주소에는https://가 붙습니다). 별표는 허용되지 않으며; 다른 주소의 요청은 거부됩니다. - Public umbrella scope — 위젯은
__public__스페이스 + 생성 시 정의된 해당 스페이스의 특정 컬렉션에만 접근합니다. - api-key에 대한 Rate limit — 봇에 대한 방지책.
#모드 2 — 세션 JWT(인증이 있는 기업 사이트용)
사용자가 이미 인증되어 있는 회사의 내부 포털에 삽입된 위젯. 위젯은 세션 JWT를 받아들이고 해당 사용자가 보는 것을 정확히 봅니다.
사용 사례:
- 기업 인트라넷의 위젯 → 각 직원이 자신의 스페이스를 봄
- SaaS 애플리케이션(예: CRM)에 삽입 — 사용자가 자신의 역할에 맞는 문서를 봄
#테넌트당 다중 위젯(ADR 0029 Stage 4)
조직 내에서 서로 다른 범위를 가진 여러 위젯을 만들 수 있습니다:
- 하나는 — 공개, 마케팅 사이트용(allowed paths)
- 다른 하나는 — 기업용, 인트라넷용(session JWT)
- 세 번째는 — 특정 컬렉션용(예: 지원 센터를 위한 FAQ만)
각 위젯에는 자체 api-key, 범위 및 인증 모드가 있습니다. 자세한 내용은 통합 및 API 및 위젯을 참조하세요.
#익명 방문자가 보는 것
| 요소 | 표시 여부 |
|---|---|
publish_state=public인 문서와 공개 폴더 안의 inherit 문서 |
예 |
| 해당 문서에 대한 AI 검색 | 예(조직의 AI 한도가 소진되면 — AI 답변 없이 의미 기반 문서 검색) |
| 공개 컬렉션 카탈로그 | 예 |
| 짧은 공유/임베드 링크(문서에 대해 활성화된 경우) | 예 |
| "전체 접근을 위해 로그인하세요" 배너(위젯이 익명인 경우) | 예 |
internal, draft 문서 및 공개 폴더 밖의 inherit 문서 |
아니요 |
| 비공개 스페이스의 문서 | 아니요 |
| 쿼리 기록/추천(개인용) | 아니요 |
| 관리자 패널, 휴지통, 로그, 분석 | 아니요 |
익명 검색은 기본적으로 기본 rate limiting을 위해 클라이언트 핑거프린트 쿠키를 사용하지만, 요청을 사용자 계정과 연결하지는 않습니다.
#개별 컬렉션 숨기기
Corporate 스페이스에서 모든 컬렉션이 반드시 익명 사용자에게 표시되어야 하는 것은 아닙니다. 특정 컬렉션을 숨길 수 있습니다:
- 컬렉션의 컨텍스트 메뉴 → "공개로 설정" / "내부로 설정"
- 컬렉션의 상태:
- inherit — 명시적 상태를 가진 가장 가까운 상위 폴더를 따릅니다; 그런 상위가 없으면 내부용(기본값)
- internal — 익명 사용자에게는 숨겨지고 팀에게는 표시됨
- public — 명시적으로 공개(Corporate 스페이스에서만, 그렇지 않으면 차단됨)
이는 유연성을 제공합니다: 예를 들어 공개 "문서" 스페이스에서 publish_state=internal인 Internal Drafts 컬렉션에 초안을 보관할 수 있습니다 — 외부에는 보이지 않지만 편집자에게는 제공됩니다.
#웹사이트에 삽입하기
공개 지식 베이스는 세 가지 방법으로 웹사이트에 통합할 수 있습니다:
| 방법 | 설명 |
|---|---|
| 직접 링크 | https://<slug>.lynkora.pro — 문서 목록, AI 검색 및 탐색 기능을 갖춘 완전한 포털 사이트 |
| JS 위젯 | 모든 페이지의 구석에 떠 있는 버튼; AI 채팅과 검색으로 확장됩니다; 동작을 구성할 수 있으며, white-label이 있는 요금제에서는 브랜딩도 구성할 수 있습니다 |
| iframe | 삽입된 블록(예: 애플리케이션 내의 "도움말" 페이지) — 프레임 내 전체 LiKE 인터페이스 |
| REST API | api-key를 통한 백엔드로부터의 직접 요청 — 자체 UI에 통합하기 위함 |
각 방법에 대한 자세한 내용은 API 및 위젯 및 통합을 참조하세요.
#White-label 및 커스텀 도메인
공개 지식 베이스는 기본 주소 slug.lynkora.pro에서 제공됩니다. 고급 포털 기능 — white-label(LiKE 브랜딩 없음) 및 커스텀 도메인 연결(설정 → 도메인; 개발 중) — 은 white-label이 활성화된 요금제에 포함되어 있습니다. 이를 위한 별도의 유료 애드온은 없습니다.
어떤 요금제에서 어떤 기능이 어떤 가격에 제공되는지는 요금제 페이지와 관리자 패널을 참조하세요.