-
DDev
-
조회수 3
들어가며
1회차에서는 Statsig가 무엇이고 어떤 핵심 개념(Feature Gate, Dynamic Config, Experiment, Layer)으로 구성되어 있는지 살펴봤습니다.
이번 글에서는 실제로 Statsig 프로젝트를 만들고, 앞으로 시리즈 내내 사용할 콘솔의 구조와 API 키 체계를 정리합니다.
3회차부터 이어지는 Web/iOS/Android/서버 SDK 설치 글에서 이번 글의 API 키 개념을 그대로 사용하니, 이번 글의 내용을 먼저 명확히 이해하고 넘어가는 것을 권장합니다.
1. Statsig 프로젝트 만들기
Statsig 콘솔(console.statsig.com)에 가입한 뒤 새 프로젝트를 생성하면, 해당 프로젝트 안에 Feature Gate·Dynamic Config·Experiment·이벤트 로그가 모두 격리되어 관리됩니다.
회사 단위로 하나의 프로젝트를 사용하거나, 제품/팀 단위로 프로젝트를 분리하는 것이 일반적입니다.
- console.statsig.com에서 계정을 생성하고 로그인합니다.
- 좌측 상단 프로젝트 선택 메뉴에서 "Create Project"를 클릭합니다.
- 프로젝트 이름을 입력합니다. (예: my-service-web, my-service-app 처럼 서비스 단위로 명명하는 것을 추천)
- 생성이 완료되면 자동으로 Development/Staging/Production 세 가지 환경이 함께 만들어집니다.
여러 서비스를 운영 중이라면 프로젝트를 서비스별로 나누는 것과, 하나의 프로젝트 안에서 "Target Apps"로 앱을 구분하는 것 중 하나를 선택해야 합니다.
지표와 사용자 기반이 완전히 다른 서비스라면 프로젝트를 분리하는 편이 실험 결과 해석이 명확해집니다.
2. API 키 종류 이해하기
Statsig는 세 가지 API 키를 제공합니다.
| 키 종류 | 접두사 | 용도와 권한 |
|---|---|---|
| Client Key | client- | 웹/모바일 클라이언트 앱에서 사용. /initialize, /log_event 호출 가능. 게이트·실험 이름은 해시 처리되어 노출되지 않음 |
| Server Secret Key | secret- | 백엔드 서버에서 사용. /download_config_specs로 전체 설정을 내려받아 로컬에서 평가. 절대 클라이언트 코드에 넣지 않음 |
| Console API Key | console- | 프로젝트 설정을 코드로 관리(Terraform, 스크립트 등)할 때 사용. 가장 강력한 권한이므로 팀 내 소수만 발급 |
표 1. Statsig API 키 종류
API 키는 콘솔의 Project Settings → Environments & Keys 메뉴에서 생성하고 관리합니다.
특히 Server Secret Key는 절대 클라이언트 번들이나 공개 저장소에 노출되지 않도록 환경 변수나 시크릿 매니저로 관리해야 합니다.
Client Key가 유출되어도 큰 문제가 되지 않도록 설계되어 있습니다 — 게이트/실험의 실제 이름과 타겟팅 조건은 해시 처리되어 응답에 포함되지 않기 때문입니다.
반면 Server Secret Key가 유출되면 프로젝트의 모든 설정을 내려받을 수 있으므로 반드시 서버 환경에서만 사용해야 합니다.
3. 콘솔 구조 둘러보기
프로젝트를 생성하면 좌측 내비게이션에 다음과 같은 메뉴가 나타납니다.
이 시리즈에서 앞으로 다룰 대부분의 실습은 이 화면들을 오가며 진행됩니다.

그림 1. Statsig 콘솔 구조 — 프로젝트 아래 주요 메뉴와 Diagnostics로의 데이터 흐름
- Feature Gates: on/off 형태의 피처 플래그를 만들고 타겟팅 규칙을 설정하는 메뉴
- Dynamic Config: 배포 없이 원격으로 값을 바꿀 수 있는 설정을 관리
- Experiments / Layers: A/B 테스트를 설계하고 결과를 분석하는 메뉴, 여러 실험을 묶는 Layer도 여기서 관리
- Segments: 여러 게이트/실험에서 재사용할 사용자 그룹을 미리 정의해두는 메뉴
- Metrics / Events: SDK가 로깅한 이벤트와, 실험 판단에 사용할 지표(Metric)를 정의하고 확인하는 메뉴
- Diagnostics: 게이트/실험 노출 로그, SDK 초기화 상태, 실시간 이벤트 수신 여부를 확인하는 디버깅 화면. 앞으로 SDK를 설치하고 나면 정상 동작 여부를 이 화면에서 가장 먼저 확인하게 됩니다
4. 환경(Environment)이라는 개념
Statsig의 모든 게이트/실험 규칙은 환경별로 다르게 설정할 수 있습니다.
예를 들어 개발 중에는 Development 환경에서 특정 사용자에게만 게이트를 켜두고, 검증이 끝나면 Production 환경에 점진적으로 롤아웃하는 식입니다.
| 환경(Tier) | 설명 |
|---|---|
| Development | 로컬 개발 중 사용. 프로덕션 지표에 영향을 주지 않음 |
| Staging | QA·내부 테스트용. 실제 배포 전 검증 단계 |
| Production | 실제 사용자에게 노출되는 환경. 실험 결과 지표는 기본적으로 이 환경 데이터를 기준으로 집계 |
표 2. Statsig 환경(Tier) 구분
SDK를 초기화할 때 StatsigOptions에 환경을 지정하면, 콘솔에서 해당 환경에 맞게 설정한 규칙만 적용됩니다.
// 예: 서버 SDK 초기화 시 환경 지정 (Node.js)
const statsig = new Statsig("secret-...", {
environment: { tier: "staging" },
});
마무리
이번 글에서는 프로젝트 생성부터 API 키 3종류, 콘솔의 주요 메뉴, 환경(Tier) 개념까지 정리했습니다.
다음 글부터는 이 API 키를 실제로 사용해 Web(JS/React), iOS, Android, 서버 SDK를 순서대로 설치하고 초기화합니다.
참고자료 (Sources)
Statsig Docs — API Keys — https://docs.statsig.com/access-management/api-keys
Statsig Docs — SDK Getting Started — https://docs.statsig.com/sdks/getting-started
Statsig Docs — Console API Overview — https://docs.statsig.com/console-api/introduction
Statsig Docs — Testing your Gates/Experiments (Local Mode, Overrides) — https://docs.statsig.com/guides/testing
재밌게 읽었어요
0