빠른 시작 (30분)
이 가이드는 신규 개발자가 Junyul 워크스페이스를 만들고 SDK를 설치한 뒤, 첫 AI 이벤트를 Junyul 대시보드에서 확인하기까지의 30분 여정을 단계별로 안내합니다. 원본 프롬프트나 응답 데이터는 귀사 인프라를 벗어나지 않으며, Junyul 서버로 전송되는 것은 SHA-256 해시와 메타데이터(모델명·토큰 수·지연 시간·법적 근거 태그)뿐입니다. 이 브랜드 약속은 데이터 보호 계약(DPA) 검토를 통과하는 전제이며 절대 변경되지 않습니다.
선행 조건
- Python 3.10 이상 또는 Node.js 20 LTS 이상
- 관리자 이메일이 유효한 업무용 계정 (조직 SSO는 support@junyul.com을 통해 별도 검수)
- SDK 패키지 접근 권한. 공개 레지스트리 GA 전에는 도입 고객에게 제공되는 고객 전용 registry, tarball, wheel 중 하나로 설치합니다.
- 외부 네트워크 인바운드 방화벽 허용:
api.junyul.com:443,ingest.junyul.com:443
1. 워크스페이스 생성 및 API 키 발급
- app.junyul.com/register에서 회사 도메인 이메일로 가입합니다. 4개 필드(이름·이메일·회사명·비밀번호)만 입력하면 되며, 소요 시간은 약 30초입니다. 확인 링크가 담긴 이메일이 1분 이내로 도착합니다.
- 로그인 후
/settings/api-keys에서 새 Key 발급 버튼을 누릅니다. 프로덕션 트래픽에는JUN_live_*, 테스트에는JUN_test_*를 사용합니다. 발급 직후 원본 Key가 한 번만 표시되므로 즉시 비밀 관리자(AWS Secrets Manager, Doppler, 1Password 등)에 저장해 주세요. 이후 화면에서는 마지막 4글자만 노출됩니다.
2. Python SDK 설치 및 초기화
# 공개 PyPI 릴리스 또는 고객 전용 패키지 채널 연결 후
pip install junyul-krimport junyul
junyul.init(api_key="JUN_live_...")
@junyul.track(asset_id="chatbot_v1")
def ask_ai(question: str) -> str:
return openai_client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": question}],
).choices[0].message.content
print(ask_ai("안녕하세요"))@junyul.track 데코레이터는 함수 호출을 감싸 프롬프트·응답 해시와 모델 이름, 토큰 수, 지연 시간, 선택한 법적 근거 태그를 자동으로 전송합니다. SDK는 내부적으로 SQLite 기반 outbox와 회로 차단기(circuit breaker)를 내장해 네트워크 오류 시 이벤트를 로컬에 24시간까지 보존하고, 복구되면 순서를 보존한 채 배치(기본 100건 또는 5초)로 재전송합니다. Junyul 서버가 장애여도 호스트 애플리케이션 성능 영향은 이벤트당 5ms 미만으로 측정됩니다.
3. 대시보드 확인
- /events — 첫 이벤트가 타임라인에 표시되는지 확인합니다. 지연은 보통 1~3초 이내입니다. 보이지 않는다면
/sdk-telemetry에서 SDK 버전·circuit breaker 상태·마지막 flush 시각을 확인하세요. - /wizard — 12~15개 질문으로 자산을
high_impact,generative,both,none중 하나로 자동 분류합니다. 룰 엔진이 먼저 YAML 규칙을 평가하고 신뢰도가 0.7 미만이면 설정된 LLM으로 보완합니다. - /assessments/new — 7개 섹션(개요·기술·위험·대응·협의·법적 근거·결론)으로 영향평가 초안을 LLM이 생성합니다. 법무 리뷰 → 개발자 승인 → 대표 사인의 3단계 Approval 워크플로우가 자동으로 제공됩니다.
4. 다음 단계
- TypeScript SDK 통합:
Express/Fastify/Next API Route에 미들웨어 한 줄로 연결합니다.# Node 서버 / Next.js / Express / Fastify pnpm add @junyul/node # 런타임 중립 코어만 필요한 경우 pnpm add @junyul/core - 웹훅으로 Slack·PagerDuty 알림:
/settings/webhooks - 팀 초대 및 역할(engineer·legal·compliance·owner):
/settings/team - SDK 버전 자동 업그레이드 모니터링:
/sdk-telemetry페이지에서 deprecated 경고 확인 - 감사 리포트 PDF 생성(해시체인 서명 포함):
/reports
프로덕션 배포 전 체크리스트
로컬에서 동작이 확인된 이후에는 다음 항목을 프로덕션 배포 전에 꼭 점검하세요. 첫째, API 키는 test 환경과 live 환경을 분리합니다. test 키는 감사 로그 보존 대상이 아니며 샘플링·부하 테스트에 사용하는 것을 권장합니다. 둘째, 회사 인프라에서 api.junyul.com 도달성 SLO를 측정해 내부 observability 대시보드에 patched in 합니다 — Datadog, Grafana Cloud, New Relic 어떤 도구든 가능합니다. 셋째, SDK는 OpenTelemetry 스팬을 자동 방출하므로 OTLP 콜렉터가 있다면 부가 설정 없이 trace가 연결됩니다. 넷째, 법무팀을 초대해 역할을 legal로 부여하면 Approval 워크플로우에서 자동으로 승인자로 표시됩니다. 다섯째, /reports 페이지에서 첫 월간 감사 리포트를 시범 생성해 해시체인이 genesis에서 현재까지 정상 연결되는지 확인합니다.
도움이 필요하신가요?
통합 중 궁금한 점은 support@junyul.com으로 문의해 주세요. 파트너 파일럿 고객에게는 Slack Connect 공유 채널이 제공됩니다. Python SDK 장애·성능 이슈는 JUNYUL_DEBUG=1 환경변수로 상세 로그를 활성화한 뒤 이슈에 첨부해 주시면 해결 속도가 빠릅니다.