텔레메트리
텔레메트리 (Telemetry)
CrewAI 는 라이브러리 개선을 목적으로 이름 없는(anonymous) 텔레메트리로 사용 통계를 수집해요. 기본적으로는 개인정보를 수집하지 않지만, 몇몇 필드에는 개인정보를 넣지 말아야 하고, 선택 기능인 share_crew 를 켜면 더 상세한 데이터가 수집된다는 점을 알아둬야 합니다. 이 페이지에서는 무엇이 수집되고, 어떻게 끄는지, 그리고 내 OpenTelemetry 설정과 어떻게 분리되는지를 정리해요.
출처: 공식문서
본문
수집 원칙
기본적으로 GDPR 및 기타 개인정보 보호 규정에서 개인정보로 간주하는 데이터는 수집하지 않습니다. 다만 도구(Tool)의 이름과 에이전트(Agent)의 역할은 수집되므로, 여기에 개인정보를 포함하지 않도록 주의하세요. 개인정보를 수집하지 않기 때문에 데이터 상주(data residency) 문제도 걱정하지 않아도 됩니다.
share_crew 를 켜면 추가 데이터가 수집되는데, 사용자가 포함시킨 경우 개인정보가 담길 수 있습니다. 기본값으로는 프롬프트, 태스크 설명, 에이전트의 backstory 나 goal, 도구 사용, API 호출, 응답, 에이전트가 처리한 데이터, 시크릿, 환경 변수는 어떤 것도 수집되지 않습니다.
share_crew 를 활성화하면 태스크 설명, 에이전트 backstory/goal 등 상세 데이터가 수집되어 더 깊은 인사이트를 얻을 수 있습니다. 크루나 태스크에 개인정보가 들어 있다면, 활성화 전에 그 내용을 신중히 검토하세요.
텔레메트리 끄기
환경 변수 CREWAI_DISABLE_TELEMETRY 를 true(대소문자 무관), 1, yes, 또는 on 으로 설정하면 CrewAI 텔레메트리만 끌 수 있어요. OTEL_SDK_DISABLED 도 같은 값을 가지면 CrewAI 의 exporter 도 꺼집니다. 단, OpenTelemetry SDK 자체가 프로세스 안의 다른 인스트루멘테이션을 끄는 값은 여전히 true 만 인정합니다. AMP 트레이싱은 별도로 Tracing 문서에서 다룹니다.
# CrewAI 텔레메트리만 끄기
os.environ['CREWAI_DISABLE_TELEMETRY'] = 'true'
# OpenTelemetry 전체( CrewAI 포함) 끄기
os.environ['OTEL_SDK_DISABLED'] = 'true'
CREWAI_DISABLE_TELEMETRY=1(또는 yes/on)은 true 와 동일하게 동작합니다. 인식되지 않는 값은 무시되고 텔레메트리는 계속 켜진 상태로 남아요.
내 OpenTelemetry 설정과의 분리
CrewAI 의 텔레메트리는 자체적인 private TracerProvider 위에서 돌며, 전역(global) provider 로 등록되지 않습니다. 그래서 두 방향이 서로 분리됩니다.
- 웹 프레임워크, DB 클라이언트, HTTP 클라이언트 같은 다른 인스트루멘테이션 라이브러리의 스팬(span)은 CrewAI 로 절대 전송되지 않아요.
- CrewAI 의 텔레메트리 스팬이 내 관측성 백엔드로 보내지지 않으므로, Langfuse, Braintrust, Phoenix 등 내가 구성한 collector 에도 나타나지 않습니다.
관측성 통합(Observability integrations)은 영향받지 않습니다. 그들은 자체 tracer provider 로 CrewAI 를 인스트루멘트하며, 여기서 설명하는 것과는 독립적이에요.
수집 데이터
| 기본 수집 | 데이터 | 이유와 상세 |
|---|---|---|
| 예 | CrewAI 및 Python 버전 | 소프트웨어 버전 추적. 예: CrewAI v1.2.3, Python 3.8.10. 개인정보 없음. |
| 예 | 크루 메타데이터 | 무작위 생성 키와 ID, 프로세스 타입(sequential, parallel 등), 메모리 사용 여부(boolean), 입력이 전달됐는지 여부(boolean — 입력 키/값은 share_crew 시에만 수집), 태스크 수, 에이전트 수. 모두 비(非)개인정보. |
| 예 | 에이전트 데이터 | 무작위 생성 키와 ID, 역할 이름(개인정보 금지), boolean 설정(verbose, 위임 허용, 코드 실행 허용), max iterations, max RPM, max retry limit, LLM 정보, 도구 이름 목록(개인정보 금지). 개인정보 없음. |
| 예 | 태스크 메타데이터 | 무작위 생성 키와 ID, boolean 실행 설정(async_execution, human_input), 연결된 에이전트의 역할과 키, 도구 이름 목록. 모두 비개인정보. |
| 예 | 도구 사용 통계 | 도구 이름(개인정보 금지), 사용 시도 횟수(정수), 사용된 LLM 속성. 개인정보 없음. |
| 예 | 테스트 실행 데이터 | 크루의 무작위 키와 ID, 반복 횟수, 사용 모델 이름, 품질 점수(float), 실행 시간(초). 모두 비개인정보. |
| 예 | 태스크 생애주기 데이터 | 생성/실행 시작·종료 시각, 크루·태스크 식별자, 성공 여부. 실패 시 예외 클래스 이름(예: TimeoutError)이 기록되며 오류 메시지 본문은 기록하지 않습니다. 타임스탬프가 있는 스팬으로 저장. 개인정보 없음. |
| 예 | LLM 속성 | name, model_name, model, top_k, temperature, LLM 클래스 이름. 모두 기술적 비개인정보. |
| 예 | crewAI CLI 로 프로젝트 생성 | crewai create 로 새 프로젝트가 스캐폴딩됐다는 사실, 종류(crew, json_crew, flow), 새 프로젝트에 발급되어 자체 pyproject.toml 에 기록된 프로젝트 ID. 프로젝트 이름·파일 내용·코드는 없음. 개인정보 없음. |
| 예 | crewAI CLI 로 배포 시도 | 배포가 이뤄진다는 사실과 crew id, 로그를 끌어오려 하는지, CLI 명령인지 run TUI 에서 시작됐는지. 프로젝트/크루 내용 없음. 개인정보 없음. |
| 예 | 실행 환경 | 실행 중인 AI 코딩 어시스턴트(claude_code, codex, cursor, unknown 등 고정 목록), 프로세스 위치(ci, container, serverless, interactive 등), pyproject.toml 의 project_id, 머신 크기 구간(1-2, 3-4, 5-8, 9-16, 17-32, 33+, unknown). 구간은 범위이며 정확한 코어 수는 아닙니다(정확한 값은 아래 Environment Information 선택 시에만). 개인정보 없음. |
| 예 | 플로우 생애주기 신호 | 플로우 시작/완료/실패 여부, 메서드 실패 여부, 사람 입력/피드백 대기 여부, 재개된 실행 여부, 대화 턴 실패 여부, 실행 시간, CrewAI 내부 플로우인지 사용자 작성인지. 플로우 이름이 기록되며, 실패 시 예외 클래스 이름만 기록됩니다(오류 메시지 본문은 안 함). 메서드 이름·플로우 상태는 기록하지 않음. 개인정보 없음. |
| 예 | 트레이스 공유 신호 | 트레이스 배치가 CrewAI AMP 에 성공적으로 공유됐는지, 익명인지(계정 없음) 아니면 계정과 연결됐는지. 트레이스 내용·입력·출력은 이 신호에 기록되지 않습니다. |
| 아니요 | 에이전트 확장 데이터 | goal 설명, backstory 텍스트, i18n 프롬프트 파일 식별자. 텍스트 필드에 개인정보를 넣지 않아야 합니다. |
| 아니요 | 상세 태스크 정보 | 태스크 설명, 기대 출력 설명, 컨텍스트 참조. 개인정보 금지. |
| 아니요 | 환경 정보 | platform, release, system, version, CPU count. 예: Windows 10, x86_64. 개인정보 없음. |
| 아니요 | 크루·태스크 입력/출력 | 비식별 데이터로서의 입력 파라미터와 출력 결과. 개인정보 금지. |
| 아니요 | 종합 크루 실행 데이터 | 크루 운영의 상세 로그, 모든 에이전트·태스크 데이터, 최종 출력. 모두 비개인적·기술적. |
share_crew 가 true 로 설정될 때만 수집되는 데이터는 “기본 수집” 열이 “아니요” 입니다.
선택적 추가 텔레메트리 공유
크루 설정에서 share_crew 속성을 True 로 설정하면 전체 텔레메트리 데이터를 공유할 수 있습니다. 활성화하면 태스크의 goal, backstory, context, output 을 포함한 상세 크루·태스크 실행 데이터가 수집됩니다.
share_crew 를 켜면 크루 설정·태스크 설명·출력에 개인정보가 들어 있다면 그 정보까지 수집될 수 있어요. 활성화 전에 데이터를 꼼꼼히 검토하고 GDPR 및 관련 규정을 준수하는지 확인하세요.