데이터 프라이버시와 규정 준수를 중시하는 사용자와 개발자에게 HuggingChat은 상용 폐쇄형 AI 챗봇의 훌륭한 오픈소스 대안입니다. 오픈소스 chat-ui 엔진을 기반으로 구축된 HuggingChat 공식 웹 서비스(huggingface.co/chat)는 기본적으로 '설계 단계부터 프라이버시 보호(privacy by design)' 원칙을 적용합니다. 사용자의 대화 데이터를 상업적으로 판매하거나, 모델 개선 및 재학습을 위해 제3자 모델 개발사에 전송하지 않습니다.
민감한 비즈니스 조사를 위해 일상적으로 활용하든, 사내 팀을 위해 독립된 프라이빗 인프라를 구축하든, 데이터 공유 설정, 대화 기록 보존 주기, 그리고 Hugging Face API 액세스 토큰(Access Tokens) 구성 방법을 정확히 이해하는 것은 프롬프트의 보안을 지키고 사용 승인이 필요한 제한된 모델(Gated Models)에 접근하는 핵심 전제 조건입니다.
1. 데이터 공유 정책 및 프라이버시 구조
HuggingChat의 보안 수준을 평가할 때는 공식 호스팅 웹 플랫폼과 자체 호스팅(Self-hosted) 인스턴스를 명확히 구분해야 합니다.
기본 프라이버시 기준
Hugging Face는 HuggingChat의 대화 데이터 처리에 대해 투명한 기준을 명시하고 있습니다:
- 업스트림 모델 학습 미사용: HuggingChat에서 사용자가 입력한 질문과 모델의 생성 답변은 모델 개발사(예: Meta, Mistral AI, Alibaba 등)로 전달되어 기본 모델의 재학습이나 미세 조정에 활용되지 않습니다.
- 서버 데이터베이스 안전 보관: 계정에 로그인하여 대화할 경우, 세션 간 연속성과 기기 간 동기화를 위해 대화 내역이 MongoDB 데이터베이스에 안전하게 저장됩니다.
- 상업적 표적 광고 배제: 대화 텍스트 데이터를 외부 마케팅 업체에 판매하거나 맞춤형 광고 프로파일링 용도로 가공하지 않습니다.
데이터 공유 토글 제어
오픈소스 chat-ui를 직접 배포하거나 특정 테스트 환경을 운영할 때, 관리자는 환경 변수 PUBLIC_APP_DATA_SHARING=1을 설정하여 설정 창에 '모델 개발자와 데이터 공유' 토글을 노출시킬 수 있습니다. 이 변수가 설정되지 않았거나 0으로 지정된 경우 외부 데이터 전송 통로는 완전히 차단되며, 모든 대화는 세션 표시 및 자체 데이터베이스 보관에만 국한됩니다.
웹 검색(Web Search) 기능 사용 시 프라이버시 고려 사항
HuggingChat 입력창에는 실시간 최신 정보를 조회할 수 있는 '웹 검색' 토글이 포함되어 있습니다. 이 기능이 켜져 있으면 시스템이 사용자의 프롬프트에서 검색어를 추출하여 연동된 외부 검색 엔진(예: Serper 또는 Exa)으로 전송합니다. 질문에 사내 도메인, 미공개 사업 계획, 핵심 소스 코드 등이 포함되어 있다면 질문 전 반드시 웹 검색을 꺼두어야 민감한 단어가 외부 검색 인덱스에 노출되는 것을 방지할 수 있습니다.
공개 공유 링크(Share) 생성 시 주의 사항
HuggingChat의 'Share' 기능을 사용하면 대화의 정적 스냅샷을 담은 공개 웹 URL이 생성됩니다. 해당 링크를 가진 사람은 누구나 대화 내용을 열람할 수 있습니다. 보안이 요구되는 조직에서는 민감한 대화에 대해 공유 링크 생성을 엄격히 금지해야 합니다. 실수로 링크를 생성한 경우, 좌측 사이드바에서 원본 대화를 삭제하면 연결된 공개 스냅샷도 즉시 파기됩니다.
2. 대화 기록 보존 주기 및 영구 삭제 관리
HuggingChat은 계정 없는 게스트 모드부터 데이터베이스 물리적 삭제에 이르기까지 완전한 데이터 라이프사이클 제어를 지원합니다.
게스트 모드(비로그인 익명 세션)
Hugging Face 계정에 로그인하지 않고도 자유롭게 HuggingChat을 이용할 수 있습니다:
- 게스트 세션은 대화 상태를 사용자 프로필 대신 브라우저 세션 쿠키(
hf-chat)와 로컬 스토리지에만 임시 보관합니다. - 브라우저 탭을 닫거나 쿠키를 삭제하면 대화 컨텍스트가 완전히 파기됩니다.
- 클라우드 서비스를 이용하면서도 서버에 본인 식별 정보가 남는 것을 원치 않는 사용자에게 게스트 모드는 가장 간편한 익명 솔루션입니다.
단일 대화의 개별 삭제
계정 로그인 후 진행한 모든 대화는 좌측 탐색 사이드바에 표시됩니다:
- 좌측 목록에서 삭제하려는 대화 제목 위에 마우스 커서를 올립니다.
- 제목 옆에 나타나는 더보기 아이콘(
...) 또는 휴지통 아이콘을 클릭합니다. - 삭제 확인 팝업창에서 삭제를 승인합니다.
HuggingChat 백엔드는 **물리적 영구 삭제(Hard Delete)**를 수행합니다. 대화 문서는 MongoDB에서 즉시 완전히 제거되며, 30일 보관 휴지통이나 논리적 플래그 상태로 남아있지 않습니다.
계정 전체 대화 기록 일괄 삭제
계정에 누적된 모든 대화 내역을 한 번에 정리하려면:
- 인터페이스 좌측 하단의 톱니바퀴 아이콘(Settings)을 클릭합니다.
- 데이터 관리(Data Controls) 메뉴로 이동합니다.
- Delete all conversations(모든 대화 삭제)를 클릭하고 실행을 확인합니다.
이 작업을 수행하면 사용자 계정 ID에 연결된 모든 대화, 도구 실행 출력, 어시스턴트 설정이 데이터베이스에서 즉각 일괄 삭제됩니다.
3. Hugging Face API 토큰 설정 및 제한된 모델(Gated Models) 접근
API 토큰을 설정하면 Hugging Face Hub에 등록된 사용 권한 제한 모델을 사용하고, MCP(Model Context Protocol)를 통한 고급 도구 연동을 안전하게 수행할 수 있습니다.
웹 인터페이스에서 제한된 모델(Gated Models) 활성화
Meta Llama 3 시리즈와 같은 주요 고성능 오픈 가중치 모델은 Hub에서 사용 허가가 필요한 'Gated Model'로 등록되어 있습니다:
- Hugging Face 계정에 로그인합니다.
- 사용하려는 모델의 공식 저장소 페이지(예:
meta-llama/Meta-Llama-3-70B-Instruct)를 방문합니다. - 라이선스 동의 양식을 작성하고 커뮤니티 라이선스 조항에 동의합니다.
- HuggingChat으로 돌아옵니다. 로그인 계정 세션이 연동되어 있으므로 브라우저에 별도 API 키를 입력하지 않아도 모델 선택 드롭다운 목록에서 즉시 사용할 수 있습니다.
MCP 서버를 위한 사용자 토큰 전달(Token Forwarding)
HuggingChat은 외부 툴 및 저장소와 통신하는 MCP 표준을 지원합니다:
- Settings 메뉴에서 MCP Servers를 선택합니다.
- 연동할 커스텀 MCP 서버의 엔드포인트 URL을 입력합니다.
- 엔터프라이즈 환경에서는
MCP_FORWARD_HF_USER_TOKEN=true옵션을 활성화할 수 있습니다. 이를 통해 인증된 사용자의 개인 Hugging Face 토큰이 인가된 MCP 도구로 안전하게 전달되어, 서버 환경에 마스터 관리자 키를 노출하지 않고도 비공개 데이터셋이나 비공개 리포지토리에 안전하게 접근할 수 있습니다.
chat-ui 자체 호스팅 시 HF_TOKEN 환경 변수 구성
완벽한 데이터 주권과 네트워크 격리가 필요한 개발자는 오픈소스 chat-ui를 활용해 프라이빗 인스턴스를 구축할 수 있습니다:
1단계: 최소 권한의 Access Token 발급
- Hugging Face Settings > Access Tokens로 이동합니다.
- Create new token을 클릭합니다.
- 권한 유형으로 반드시 Read(또는 추론 전용 Fine-grained 토큰)를 선택합니다. 쓰기(Write)나 관리자(Admin) 권한을 가진 토큰은 프론트엔드 환경에 절대 사용하지 마십시오.
hf_로 시작하는 토큰 문자열을 복사합니다.
2단계: .env.local 환경 변수 설정
프로젝트 디렉터리 내 환경 설정 파일을 구성합니다:
# OpenAI 호환 Hugging Face 추론 라우터 엔드포인트
OPENAI_BASE_URL=https://router.huggingface.co/v1
# 모델 추론 인증용 개인 Read 토큰
OPENAI_API_KEY=hf_your_read_token_here
# OpenID 연동 시, 각 로그인 사용자의 고유 토큰으로 추론을 호출하도록 설정
USE_USER_TOKEN=true
# 데이터 보존 주기를 자체 관리하기 위한 프라이빗 MongoDB 연결
MONGODB_URL=mongodb://localhost:27017
MONGODB_DB_NAME=chat-ui-private
# 외부 데이터 공유 기능 원천 차단
PUBLIC_APP_DATA_SHARING=0
3단계: 프라이빗 인스턴스 실행
docker run -d -p 27017:27017 --name mongo-chatui mongo:latest
npm install
npm run dev
4. 프라이버시 수준 및 배포 옵션 비교
| 구성 환경 | 프라이버시 등급 | 데이터 보존 정책 | Hugging Face 토큰 필요 여부 | 최적 권장 용도 |
|---|---|---|---|---|
| 게스트 웹 세션 | 높음 (완전 익명) | 브라우저 쿠키만 사용, 탭 닫을 시 소멸 | 불필요 | 단발성 민감 질문, 계정 기록을 남기지 않는 조사 |
| 로그인 웹 환경 | 균형 (편의성 겸비) | 클라우드 MongoDB에 영구 저장, 수동 영구 삭제 가능 | 불필요 (계정 권한으로 자동 연동) | 기기간 기록 동기화가 필요한 일상 업무 및 연구 |
| 제한된 모델 접근 | 균형 (규정 준수) | 클라우드 MongoDB 저장, 모델 라이선스 약관 적용 | 모델 저장소에서 사전 라이선스 승인 필수 | Llama 3 등 고성능 오픈 모델 평가 |
자체 호스팅 chat-ui | 최고 (폐쇄망 구축 가능) | 자체 DB 완전 통제, TTL 기반 자동 파기 구성 지원 | 읽기 전용 hf_ 토큰 또는 로컬 엔드포인트 | 기업 기밀, 의료·금융 등 엄격한 컴플라이언스 준수 환경 |
5. 프라이버시 극대화를 위한 권장 지침
- 제한된 모델 약관 철저 확인: Gated Model 사용 승인은 모델 제공자와의 법적 계약이 수반되므로, 핵심 지적 재산 입력 전 라이선스 한계를 반드시 검토하십시오.
- 읽기 전용 토큰 원칙 준수:
HF_TOKEN또는OPENAI_API_KEY설정 시 오직 Read 권한만 부여하여 자격 증명 유출 시 발생할 수 있는 피해를 최소화하십시오. - 데이터베이스 자동 파기 인덱스 설정: 자체 호스팅 MongoDB의
conversations컬렉션에 TTL 인덱스를 적용하여 14일 또는 30일 경과 후 대화가 자동 삭제되도록 구현하십시오. - 민감 정보 입력 시 웹 검색 비활성화: 내부 인프라 주소나 영업 기밀이 포함된 프롬프트를 전송할 때는 외부 검색 API로 키워드가 누출되지 않도록 웹 검색을 반드시 비활성화하십시오.