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 }를 설정하여 로컬에서 원격 측정을 감사할 수 있습니다. 이 디버그 모드에서는 원격 측정 이벤트가 콘솔에만 기록됩니다.

auth.ts
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 작업 시: 위에서 설명한 대로 generatemigrate.

원격 측정은 내부 도구에 의해 명시적으로 재정의되지 않는 한 테스트 환경 (NODE_ENV=test)에서 자동으로 비활성화됩니다.

On this page