프로젝트 소개

WebSight는 오픈 소스 기반의 개인정보 보호 우선 웹 분석 프로젝트입니다. 이 프로젝트의 목표는 방문자를 상품화하지 않고 사이트 소유자에게 필요한 수치를 제공하는 것입니다. 쿠키를 사용하지 않고, 교차 사이트 추적을 수행하지 않으며, 개인 데이터를 수집하지 않습니다. 호스팅 앱 형태와 자체 인프라에서 완전히 실행할 수 있는 소프트웨어 형태로 모두 제공됩니다. 추적 및 설정 트래커는 경량으로 설계되었습니다. 핵심 스크립트는 1KB 미만이며, 비동기(async) 및 지연(deferred) 방식으로 로드됩니다. 통합 방법은 두 가지입니다. 가장 간단한 방법은 호스팅된 트래커를 가리키는 단일 지연 스크립트 태그를 사용하는 것이며, data-site 속성을 통해 대상 사이트 이름을 지정합니다. 다른 data-* 속성들은 패키지 옵션과 일대일로 매핑되어 지속성 모드, Core Web Vitals 샘플링, 관리자 또는 상태 확인 경로에 대한 경로 제외 설정 등을 처리합니다. 또는 websight라는 이름의 npm 패키지를 빌드에 연결하여 타입이 지정된 init 호출과 커스텀 이벤트를 위한 track 및 identify 함수를 사용할 수 있습니다. track과 identify는 init 호출 전에 호출될 수 있으며 트래커가 부팅될 때까지 큐에 대기합니다. 루트 레이아웃에 마운트하도록 설계된 Analytics 컴포넌트를 통해 React 통합 기능도 제공됩니다. 분석 기능 README에는 이벤트가 도착하는 즉시 업데이트되는 실시간 대시보드와 현재 독자의 위치를 강조하는 회전하는 3D 글로브가 명시되어 있습니다. 세션 리플레이는 rrweb을 기반으로 하며 개인정보 마스킹 처리가 되어 있고, 대시보드에서 사이트별로 활성화할 수 있습니다. 행동 분석을 위해 커스텀 이벤트, 전환 퍼널, 목표 및 유지 코호트를 지원하며, 소스, 국가, 기기 또는 캠페인별로 슬라이싱할 수 있는 필터와 세그먼트를 제공합니다. Core Web Vitals 및 JavaScript 오류 캡처 기능은 온디맨드 방식으로 로드되어 사용 가능합니다. 개인정보 보호 태세 쿠키리스 및 상태 비저장(stateless) 추적이 기본 설정입니다. README에 따르면 이 방식은 GDPR, CCPA 및 PECR을 준수하며 방문자가 동의해야 할 사항이 없다고 주장합니다. 모든 사이트에 대해 공개 공유 링크를 생성할 수 있으며 선택적으로 비밀번호 보호가 가능합니다. 이 프로젝트는 MIT 라이선스를 따르며 완전히 셀프 호스팅이 가능합니다. 아키텍처 및 셀프 호스팅 WebSight는 Supabase Postgres 데이터베이스를 기반으로 하는 단일 Next.js 애플리케이션입니다. 트래커는 앱의 public 디렉토리에 위치하므로 별도의 서비스를 운영할 필요가 없습니다. 즉, 하나의 Next.js 앱이 하나의 Supabase 프로젝트를 가리키는 구조입니다. README의 셀프 호스팅 단계는 저장소 클론, 환경 설정 예제 파일 복사 및 Supabase 키와 앱 URL 입력, 종속성 설치, 빌드 및 시작 순으로 진행됩니다. supabase/migrations의 마이그레이션은 Supabase CLI를 통해 적용되며, 이후 앱을 Vercel이나 다른 Node 호스트에 배포할 수 있습니다. README는 환경 변수와 geo/CDN 주의 사항이 포함된 전체 가이드가 온라인 셀프 호스팅 가이드에 있다고 안내합니다. README에 명시된 기술 스택에는 Next.js 16, React 19, TypeScript, Tailwind CSS v4, Postgres용 Supabase, Recharts, 3D 글로브를 위한 three-globe, 세션 리플레이를 위한 rrweb이 포함됩니다. 트래커 자체는 종속성이 없으며 tsup으로 빌드되었습니다. 커뮤니티 및 라이선스 이슈 제기와 풀 리퀘스트를 환영하며, 문서는 프로젝트 전용 문서 사이트에 호스팅됩니다. 이 프로젝트는 MIT 라이선스로 제공되어 사용 및 셀프 호스팅이 무료입니다.