캘리포니아 청소년 AI 안전법 SB 1119: 챗GPT가 미성년자 기본 보호를 제품에 넣는 이유
오픈AI가 캘리포니아의 청소년 AI 안전 법안 SB 1119 지지를 공개했다. 공식 발표에 따르면 이 법안은 AI 제품이 청소년에게 제공되기 전에 나이 확인, 위험 식별, 독립 감사, 유해 콘텐츠 대응, 보호자 도구, 위기 지원 연결, 표적 광고 제한을 요구하는 방향이다. 오픈AI는 연방 차원의 공통 규칙이 없는 상황에서 캘리포니아가 청소년 AI 안전 기준을 세울 수 있다고 설명했다. 원문은 OpenAI 발표에서 확인할 수 있다.
이 뉴스가 중요한 이유는 단순히 “청소년용 챗GPT가 생겼다”가 아니다. 앞으로 AI 서비스가 미성년자를 만났을 때 어떤 기본값을 가져야 하는지, 제품 설계 단계에서 무엇을 증명해야 하는지가 규제 언어로 정리되고 있다. 개발자 입장에서는 로그인, 연령 추정, 콘텐츠 필터, 보호자 설정, 감사 로그가 더 이상 부가 기능이 아니라 제품 요구사항으로 들어올 가능성이 커진다.
문제: AI는 검색창보다 더 오래 대화한다
기존 인터넷 서비스의 청소년 보호는 주로 콘텐츠 노출을 줄이는 방식이었다. 검색 결과에서 성인물을 내리거나, SNS에서 특정 추천을 제한하거나, 앱스토어 연령 등급을 붙이는 식이다. 하지만 대화형 AI는 성격이 다르다. 사용자가 한 번 물어보고 끝내지 않는다. 공부, 친구 관계, 진로, 몸 상태, 자해 충동, 성적 호기심처럼 민감한 주제를 여러 턴에 걸쳐 이야기한다.
대화가 길어질수록 위험도 커진다. 모델이 한 문장을 잘못 답하는 문제보다, 사용자의 취약한 상태를 반복적으로 강화하는 문제가 더 중요해진다. 예를 들어 우울감을 말한 청소년에게 단순 위로만 반복하거나, 위험한 행동을 구체화하도록 질문을 이어가면 제품은 안전하다고 보기 어렵다. 오픈AI가 언급한 ChatGPT for Teens의 핵심도 이 지점이다. 미성년자로 추정되거나 13~17세라고 밝힌 사용자는 자동으로 청소년용 보호 경험에 들어가고, 일부 보호 장치는 사용자가 끌 수 없는 기본값이 된다.
개발자는 여기서 한 가지를 봐야 한다. “안전 문구를 시스템 프롬프트에 추가했다”는 수준으로는 충분하지 않다. 사용자의 나이, 대화 맥락, 위험 신호, 보호자 설정, 위기 지원 연결이 각각 제품 레이어에서 동작해야 한다. 특히 B2C AI 앱을 만든다면 청소년 보호는 법무팀 문서가 아니라 백로그의 에픽으로 관리해야 한다.
원인: 미성년자 보호는 모델 문제가 아니라 제품 문제다
많은 팀이 AI 안전을 모델 제공사의 책임으로 넘긴다. GPT, Gemini, Claude가 이미 안전 정책을 갖고 있으니 앱은 API를 호출하면 된다고 생각한다. 하지만 실제 서비스에서는 모델 앞뒤에 붙는 제품 로직이 위험을 만든다. 어떤 정보를 프로필로 저장하는지, 대화 기록을 얼마나 오래 보존하는지, 추천 질문을 어떻게 보여 주는지, 위기 상황에서 어떤 리소스로 연결하는지, 보호자가 어떤 범위까지 볼 수 있는지가 모두 안전 설계다.
SB 1119가 요구하는 항목도 이 구조를 반영한다. 나이 판단은 인증과 개인정보 설계의 문제다. 독립 감사는 로그와 평가 체계의 문제다. 유해 콘텐츠 대응은 모델 필터뿐 아니라 에스컬레이션 정책의 문제다. 보호자 도구는 계정 구조와 권한 모델의 문제다. 표적 광고 제한은 데이터 파이프라인과 광고 서버의 문제다.
특히 나이 확인은 까다롭다. 신분증 업로드를 요구하면 정확도는 올라가지만 개인정보 위험이 커진다. 자기 신고만 받으면 UX는 좋지만 거짓 입력에 취약하다. 행동 기반 연령 추정은 편리하지만 오탐과 설명 가능성 문제가 있다. 그래서 실무적으로는 단일 방식보다 단계적 접근이 필요하다. 낮은 위험 기능은 자기 신고와 기본 보호로 시작하고, 민감 기능이나 결제·커뮤니티·광고 기능에는 추가 확인을 붙이는 식이다.
해결: 청소년용 기본값을 별도 제품 모드로 설계하라
가장 실용적인 접근은 “teen mode”를 별도 정책 묶음으로 정의하는 것이다. 계정이 미성년자로 분류되면 모델 프롬프트만 바꾸는 것이 아니라 데이터, 기능, 광고, 알림, 보호자 권한이 함께 바뀌어야 한다. 이 모드는 사용자가 쉽게 끌 수 없어야 하고, 변경 기록이 남아야 한다.
첫째, 기능 제한을 명확히 둔다. 예를 들어 장기 기억, 공개 공유, 외부 도구 호출, 결제, 위치 기반 추천, DM 기능은 미성년자에게 기본 비활성화하거나 추가 보호를 둔다. 오픈AI 발표는 memory 같은 기능이 학습 연속성과 안전 대응에 도움이 될 수 있다고 설명하지만, 모든 서비스가 같은 결론을 내릴 수는 없다. 기억 기능을 켠다면 무엇을 저장하고 무엇을 저장하지 않는지, 보호자가 무엇을 볼 수 있는지 분명해야 한다.
둘째, 대화 위험 점수를 운영 지표로 만든다. 자해, 착취, 성적 콘텐츠, 불법 행위, 강한 정서 의존, 개인정보 노출 같은 신호를 별도 이벤트로 태깅한다. 중요한 것은 사용자를 처벌하려는 점수가 아니라 제품이 위험 대화를 감지하고 안전한 경로로 전환했는지 확인하는 지표다. 예를 들어 “위기 신호 감지 후 전문 지원 안내까지의 턴 수”, “차단 답변 이후 안전한 대체 도움 제공 비율”, “보호자 알림이 필요한 고위험 이벤트 처리 시간” 같은 수치가 필요하다.
셋째, 독립 감사에 대비해 근거를 남긴다. 안전 정책 문서만으로는 부족하다. 테스트 케이스, 프롬프트 변경 이력, 모델 버전, 필터 룰, 평가 결과, 사고 대응 기록을 보존해야 한다. 규제 환경에서는 “우리는 조심하고 있다”보다 “이 위험을 이렇게 정의했고, 이 테스트에서 이 기준을 통과했고, 실패 시 이렇게 수정했다”가 훨씬 강한 방어가 된다.
개발팀이 바로 바꿔야 할 설계 포인트
AI 앱을 운영 중이라면 먼저 계정 분류와 권한 모델부터 보자. user 테이블에 age_range, age_source, teen_mode_enabled, guardian_linked 같은 필드가 있는지 확인한다. 이 값이 프론트엔드 표시만 바꾸는지, 실제 API 권한과 모델 호출 정책까지 바꾸는지 점검해야 한다. 클라이언트에서만 막으면 우회가 쉽다. 서버에서 정책을 강제해야 한다.
두 번째는 광고와 추천이다. 미성년자에게 개인화 광고를 보여 주는 구조라면 데이터 사용 근거와 제외 로직을 재검토해야 한다. 대화형 AI에서 광고는 특히 민감하다. 사용자가 “수학 공부가 안 된다”고 말했을 때 학원 광고가 자연스러운 조언처럼 삽입되면 구분이 흐려진다. 광고는 명확히 표시하고, 민감 주제에서는 광고 노출을 끄는 편이 안전하다.
세 번째는 보호자 도구다. 보호자에게 모든 대화 원문을 보여 주는 방식은 사생활 침해가 될 수 있다. 반대로 아무 정보도 주지 않으면 고위험 상황을 놓칠 수 있다. 실무적으로는 설정 권한, 사용 시간, 고위험 알림, 기능 제한 중심으로 설계하고, 대화 원문 공개는 매우 제한적으로 다루는 편이 낫다.
네 번째는 위기 지원 연결이다. 단순히 “전문가에게 상담하세요”라고 답하는 수준보다 지역별 위기 리소스, 즉시 연락 가능한 안내, 대화를 중단하지 않고 안전하게 전환하는 UX가 필요하다. 한국 서비스를 운영한다면 국내 긴급 지원 번호와 청소년 상담 채널을 별도 정책으로 관리해야 한다.
한국 서비스에 주는 의미
SB 1119는 캘리포니아 법안이지만, 한국 팀에도 신호가 크다. 글로벌 AI 플랫폼이 청소년 보호를 기본 제품 요구사항으로 넣기 시작하면, 국내 사용자도 비슷한 기준을 기대하게 된다. 특히 교육 AI, 심리상담 AI, 커뮤니티형 AI, 캐릭터 챗봇, 생산성 앱에 청소년 사용자가 섞여 있다면 선제 대응이 필요하다.
한국에서는 개인정보보호법, 아동·청소년 보호, 전자상거래, 광고 규제, 학교·교육기관 납품 기준이 함께 걸릴 수 있다. 아직 대화형 AI 전용 법제가 완성되지 않았더라도 사고가 나면 “당시 업계 표준에 비해 충분히 조심했는가”가 평가 기준이 된다. 오픈AI, EU, 캘리포니아의 흐름은 그 업계 표준을 만드는 중이다.
작은 스타트업이라도 모든 것을 한 번에 만들 필요는 없다. 대신 미성년자 가능성이 있는 서비스라면 최소한 teen mode, 민감 주제 라우팅, 광고 제한, 로그 기반 사후 검토는 지금 설계에 넣어야 한다. 나중에 규제가 확정된 뒤 덧붙이면 데이터 모델과 권한 구조를 뜯어고쳐야 할 수 있다.
실행 체크리스트
- 회원가입 또는 첫 사용 시 연령대 입력이 있는지 확인한다.
- 미성년자 계정에 적용되는 서버 측 정책 묶음을 만든다.
- 자해, 성착취, 강한 정서 의존, 개인정보 노출 등 고위험 대화 카테고리를 정의한다.
- 고위험 대화 감지 후 대체 안내, 위기 지원, 보호자 알림 여부를 정책화한다.
- 미성년자에게 맞춤 광고와 민감 주제 광고가 노출되지 않도록 제외 규칙을 둔다.
- 모델 버전, 프롬프트, 필터 룰, 평가 결과를 감사 가능한 형태로 저장한다.
- 보호자 도구는 통제와 안전 알림 중심으로 만들고, 대화 원문 공개는 신중히 제한한다.
- 청소년용 기능을 사용자가 쉽게 해제할 수 없도록 서버에서 강제한다.
- 출시 전 “나이 오분류”, “위기 신호 누락”, “광고 혼입”, “기억 기능 오남용” 테스트 케이스를 만든다.
- 법무 검토 전에 개발팀이 먼저 데이터 흐름도와 권한 매트릭스를 작성한다.