데이터 저장 및 개인정보 보호
데이터 저장 및 개인정보 보호
이 문서는 LangGraph CLI와 Agent Server가 인메모리 서버(langgraph dev)와 로컬 Docker 서버(langgraph up) 모두에서 데이터를 어떻게 처리하는지 설명해요. 또한 호스팅된 Studio 프론트엔드와 상호작용할 때 어떤 데이터가 추적되는지도 설명해요.
출처: 문서
본문
CLI
LangGraph CLI는 LangGraph 애플리케이션을 빌드하고 실행하기 위한 명령줄 인터페이스예요. 자세한 내용은 CLI 가이드를 참고하세요.
기본적으로 대부분의 CLI 명령 호출은 호출 시 단일 분석 이벤트를 기록해요. 이는 CLI 경험에 대한 개선 우선순위를 정하는 데 도움이 돼요. 각 텔레메트리 이벤트에는 호출 프로세스의 OS, OS 버전, Python 버전, CLI 버전, 명령 이름(dev, up, run 등), 그리고 명령에 플래그가 전달되었는지를 나타내는 부울이 포함돼요. 자세한 내용은 전체 분석 로직을 참고하세요.
LANGGRAPH_CLI_NO_ANALYTICS=1을 설정하면 모든 CLI 텔레메트리를 비활성화할 수 있어요.
Agent Server
Agent Server는 애플리케이션 상태의 체크포인트, 장기 메모리, 스레드 메타데이터, 어시스턴트 및 유사한 리소스를 로컬 파일 시스템이나 데이터베이스에 영구 저장하는 데 의존하는 지속적인 실행 런타임을 제공해요. 저장 위치를 의도적으로 커스터마이즈하지 않았다면 이 정보는 로컬 디스크(langgraph dev의 경우) 또는 PostgreSQL 데이터베이스(langgraph up 및 모든 배포의 경우)에 기록돼요.
LangSmith 추적
Agent 서버(인메모리 또는 Docker)를 실행할 때 LangSmith 추적을 활성화해 프로덕션에서 그래프 상태와 LLM 프롬프트의 더 빠른 디버깅과 옵저버빌리티를 제공할 수 있어요. 서버의 런타임 환경에서 LANGSMITH_TRACING=false를 설정해 언제든 추적을 비활성화할 수 있어요.
더 세밀한 제어를 위해 조건부 추적을 사용해 클라이언트 요구 사항이나 데이터 민감도 같은 런타임 조건에 따라 추적을 선택적으로 활성화하거나 비활성화할 수 있어요.
인메모리 개발 서버
langgraph dev는 단일 Python 프로세스로 인메모리 개발 서버를 실행하며, 빠른 개발과 테스트를 위해 설계됐어요. 모든 체크포인팅 및 메모리 데이터를 현재 작업 디렉터리의 .langgraph_api 디렉터리 안에 디스크로 저장해요. CLI 섹션에서 설명한 텔레메트리 데이터 외에는, 추적을 활성화했거나 그래프 코드가 외부 서비스에 명시적으로 접촉하지 않는 한 어떤 데이터도 머신을 떠나지 않아요.
독립 실행형 서버
langgraph up은 로컬 패키지를 Docker 이미지로 빌드하고 API 서버, PostgreSQL 컨테이너, Redis 컨테이너의 세 가지 컨테이너로 구성된 데이터 플레인으로 서버를 실행해요. 모든 영구 데이터(체크포인트, 어시스턴트 등)는 PostgreSQL 데이터베이스에 저장돼요. Redis는 이벤트 실시간 스트리밍을 위한 pubsub 연결로 사용돼요. 유효한 LANGGRAPH_AES_KEY 환경 변수를 설정하면 데이터베이스에 저장하기 전에 모든 체크포인트를 암호화할 수 있어요. 또한 체크포인트와 크로스 스레드 메모리의 데이터 저장 기간을 제어하기 위해 langgraph.json에서 TTL을 지정할 수 있어요. 영구 저장된 모든 스레드, 메모리 및 기타 데이터는 관련 API 엔드포인트를 통해 삭제할 수 있어요.
서버가 유효한 라이선스를 보유하고 있는지 확인하고 실행된 런 및 작업 수를 추적하기 위해 추가 API 호출이 이루어져요. 주기적으로 API 서버는 제공된 라이선스 키(또는 API 키)를 검증해요.
추적을 비활성화했다면 그래프 코드가 외부 서비스에 명시적으로 접촉하지 않는 한 사용자 데이터는 외부에 영구 저장되지 않아요.
Studio
Studio는 Agent Server와 상호작용하기 위한 그래픽 인터페이스예요. 개인 데이터를 영구 저장하지 않아요 (서버로 보내는 데이터는 LangSmith로 전송되지 않아요). Studio 인터페이스는 smith.langchain.com에서 제공되지만, 브라우저에서 실행되며 로컬 Agent Server에 직접 연결되므로 LangSmith로 데이터를 보낼 필요가 없어요.
로그인한 경우 LangSmith는 디버깅 사용자 경험을 개선하기 위해 일부 사용량 분석을 수집해요. 여기에는 다음이 포함돼요:
- 페이지 방문 및 탐색 패턴
- 사용자 작업 (버튼 클릭)
- 브라우저 유형 및 버전
- 화면 해상도 및 뷰포트 크기
중요하게도, 애플리케이션 데이터나 코드(또는 기타 민감한 구성 세부 정보)는 수집되지 않아요. 이 모든 것은 Agent Server의 영속성 계층에 저장돼요. Studio를 익명으로 사용할 때는 계정 생성이 필요 없으며 사용량 분석도 수집되지 않아요.
빠른 참조
요약하면 CLI 분석을 끄고 추적을 비활성화해 서버 측 텔레메트리를 거부(opt-out)할 수 있어요.
| 변수 | 목적 | 기본값 |
|---|---|---|
LANGGRAPH_CLI_NO_ANALYTICS=1 |
CLI 분석 비활성화 | 분석 활성화 |
LANGSMITH_API_KEY |
LangSmith 추적 활성화 | 추적 비활성화 |
LANGSMITH_TRACING=false |
LangSmith 추적 비활성화 | 환경에 따라 다름 |