# 10. Signup, Onboarding, And Auth Policy

## 목적

KoTalk의 가입 단계를 한국 사용자에게 익숙한 방식으로 단순화하면서도, 공개 서비스와 규제 환경에서 설명 가능한 안전선을 유지하는 정책을 정의한다.

## 핵심 결론

- `초대코드 중심 가입`은 공개 진입의 기본값으로 쓰지 않는다.
- 공개형 가입은 `이메일 또는 휴대폰 기반 1회성 인증 + 표시 이름`을 기본으로 둔다.
- 링크 클릭만 강제하지 않고 `매직링크 + 6자리 코드`를 병행한다.
- 간편 로그인은 `선택 보조 경로`로 검토하되, 특정 플랫폼 계정에 종속되지 않는 기본 경로를 유지한다.

## 왜 바꾸는가

국내 사용자는 이미 공공·금융·플랫폼 서비스에서 `간편인증`, `SNS 로그인`, `1회성 인증` 흐름에 익숙하다. 반대로 초대코드는 초기 베타 감성은 줄 수 있어도 공개 진입에서는 닫혀 보이고 올드하게 느껴질 가능성이 높다.

## 근거

1. [국가법령정보센터 로그인 화면](https://www.law.go.kr/login.do)은 `간편인증`과 `SNS 로그인`을 함께 제공한다. 카카오톡, PASS, 네이버, 토스 등 민간 인증 수단이 이미 공공 서비스 표면에서 일반화되어 있음을 보여 준다.
2. [정부24 공지](https://www.gov.kr/portal/ntcItm/116290)는 간편인증 운영 변경을 안내한다. 한국 사용자가 “복잡한 비밀번호보다 빠른 재인증”에 익숙하다는 맥락을 뒷받침한다.
3. [한국은행 보고서를 인용한 매일경제 기사](https://www.mk.co.kr/news/economy/11379497)는 국내 플랫폼이 복잡한 가입 절차 대신 이메일·SMS 기반 인증을 확대해야 한다고 전한다.
4. [동아일보의 코빗 개편 기사](https://www.donga.com/news/It/article/all/20230926/121380401/1)는 `본인인증 + 6자리 간편 비밀번호 + 생체인증` 흐름으로 전환해 반복 불편을 줄였다고 설명한다.

## 권장 단계

### 단계 1. 내부 알파

- 방식: 제한된 접근 게이트
- 운영 원칙: 공개 README와 제품 표면에는 실제 값을 노출하지 않는다.
- 용도: 내부 테스트, 폐쇄형 파일럿

### 단계 2. 공개 알파 / 베타 기본형

- 방식: `이메일 또는 휴대폰` 입력 -> `매직링크 또는 6자리 코드` 확인 -> `표시 이름` 입력
- 특징: 비밀번호를 만들지 않아도 되고, 메일 앱 또는 문자 앱이 없어도 코드 입력으로 진입 가능
- 목표: 첫 진입 30초 이내

### 단계 3. 신뢰 기기 강화형

- 방식: 기기 신뢰 등록 + 생체인증 또는 플랫폼 보안 기능
- 후보: Windows Hello, Android 생체인증, 패스키

## 화면 원칙

첫 화면:

- 필드 1개만 먼저 보여 준다: `이메일 또는 휴대폰`
- 보조 행동은 숨긴다.
- 문구는 `바로 시작`, `코드 받기` 수준으로 짧게 쓴다.

확인 단계:

- `링크 열기`
- `직접 코드 입력`
- `다른 기기에서 코드 받음`

프로필 단계:

- `이름`만 우선
- 프로필 사진과 상태메시지는 나중에

## 초대의 역할 재정의

- 초대는 `가입 조건`이 아니라 `대화 시작과 팀 합류를 빠르게 만드는 공유 수단`으로 내려놓는다.
- 링크, QR, 연락처 공유를 우선한다.
- 초대코드는 정말 필요한 제한형 파일럿에서만 보조 수단으로 둔다.

## 보안 가드레일

- 링크와 코드는 1회용 또는 짧은 만료 시간을 가진다.
- 사용자는 로그인된 기기 목록을 보고 원격 로그아웃할 수 있어야 한다.
- 민감 작업은 재인증을 요구한다.
- 공개 문서에는 실제 운영용 접근값을 남기지 않는다.

## 실행 우선순위

1. 이메일/휴대폰 1회성 인증
2. 표시 이름만 받는 짧은 가입
3. 기기 목록과 원격 로그아웃
4. 링크/QR 기반 초대
5. 패스키와 생체인증
