Telemetry
Better Auth는 프로젝트를 개선하는 데 도움이 되는 익명 사용 데이터를 수집합니다. 이는 선택 사항이며, 투명하고, 기본적으로 비활성화되어 있습니다.
왜 원격 측정 데이터를 수집하나요?
v1.3.5부터, Better Auth는 활성화된 경우 일반적인 사용에 대한 익명 원격 측정 데이터를 수집합니다.
원격 측정 데이터는 Better Auth가 다양한 환경에서 어떻게 사용되고 있는지 이해하는 데 도움이 되어, 성능을 개선하고, 기능의 우선순위를 정하며, 문제를 더 효과적으로 해결할 수 있습니다. 이는 성능 최적화, 기능 개발 및 버그 수정에 대한 결정을 안내합니다. 모든 데이터는 완전히 익명으로 수집되며 개인정보 보호를 염두에 두고 있으며, 사용자는 언제든지 옵트아웃할 수 있습니다. 우리는 수집하는 내용을 가능한 한 투명하게 유지하기 위해 노력합니다.
무엇이 수집되나요?
다음 데이터 포인트가 보고될 수 있습니다. 모든 것은 익명이며 집계된 통찰력만을 위한 것입니다.
- 익명 식별자: 프로젝트에서 파생된 되돌릴 수 없는 해시 (
package.json이름 및 선택적으로baseURL). 이를 통해 누구인지 알지 못한 채 프로젝트별 이벤트를 중복 제거할 수 있습니다. - 런타임:
{ name: "node" | "bun" | "deno", version }. - 환경:
development,production,test, 또는ci중 하나. - 프레임워크 (감지된 경우): Next.js, Nuxt, Remix, Astro, SvelteKit 등의 프레임워크에 대한
{ name, version }. - 데이터베이스 (감지된 경우): PostgreSQL, MySQL, SQLite, Prisma, Drizzle, MongoDB 등의 통합에 대한
{ name, version }. - 시스템 정보: 플랫폼, OS 릴리스, 아키텍처, CPU 수/모델/속도, 총 메모리, 그리고
isDocker,isWSL,isTTY와 같은 플래그. - 패키지 매니저: npm user agent에서 파생된
{ name, version }. - 수정된 auth 구성 스냅샷:
getTelemetryAuthConfig에 의해 생성된 개인정보 보호를 고려한 최소화된betterAuth옵션 뷰.
또한 CLI에서 익명 원격 측정 데이터를 수집합니다:
- CLI generate (
cli_generate): 결과generated | overwritten | appended | no_changes | aborted및 수정된 구성. - CLI migrate (
cli_migrate): 결과migrated | no_changes | aborted | unsupported_adapter및 adapter id (관련된 경우) 및 수정된 구성.
프로젝트를 실행할 때 BETTER_AUTH_TELEMETRY_DEBUG=1 환경 변수를 설정하거나 auth 구성에서 telemetry: { debug: true }를 설정하여 로컬에서 원격 측정을 감사할 수 있습니다. 이 디버그 모드에서는 원격 측정 이벤트가 콘솔에만 기록됩니다.
export const auth = betterAuth({
telemetry: {
debug: true
}
});내 데이터는 어떻게 보호되나요?
수집된 모든 데이터는 완전히 익명이며 집계된 형태로만 유용합니다. 개별 소스로 추적될 수 없으며, 로드맵 결정을 안내하기 위해 소수의 Better Auth 핵심 메인테이너만 접근할 수 있습니다.
- PII 또는 시크릿 없음: 이메일, 사용자명, 토큰, 시크릿, 클라이언트 ID, 클라이언트 시크릿 또는 데이터베이스 URL을 수집하지 않습니다.
- 전체 구성 없음: 전체
betterAuth구성을 전송하지 않습니다. 대신 민감하지 않은 토글 및 카운트의 축소된 수정 스냅샷을 전송합니다. - 설계에 의한 수정: 포함된 정확한 형태는 Better Auth 소스의 detect-auth-config.ts를 참조하세요. 의도적으로 민감한 값을 부울, 카운트 또는 일반 식별자로 변환합니다.
어떻게 활성화하나요?
auth 구성 또는 환경 변수를 설정하여 원격 측정 수집을 활성화할 수 있습니다.
-
auth 구성을 통해.
auth.ts export const auth = betterAuth({ telemetry: { enabled: true } }); -
환경 변수를 통해.
.env # 원격 측정 활성화 BETTER_AUTH_TELEMETRY=1 # 원격 측정 비활성화 BETTER_AUTH_TELEMETRY=0
언제 원격 측정이 전송되나요?
betterAuth초기화 시 (type: "init").- CLI 작업 시: 위에서 설명한 대로
generate및migrate.
원격 측정은 내부 도구에 의해 명시적으로 재정의되지 않는 한 테스트 환경 (NODE_ENV=test)에서 자동으로 비활성화됩니다.