본문으로 건너뛰기

AI 제품

어린이와 청소년을 대상으로 하는 AI 제품은 콘텐츠, 데이터, AI 동작에 관한 전 세계의 변화하는 규제(미국의 COPPA, EU의 GDPR-K, 영국의 AADC 등)의 영향을 받습니다. 이러한 규제는 어떤 연령에서 어떤 AI 기능이 사용 가능한지를 결정합니다. k-ID의 CDK는 사용자의 연령과 관할권을 AI 전용 권한 세트로 변환하며, 제품은 이 권한을 읽어 각 기능을 사용자별로 활성화하거나 비활성화합니다.

k-ID Dev Explorer 사용해보기

k-ID Dev Explorer라는 오픈 소스 개발자 샌드박스를 사용하여 AI 권한 흐름을 테스트하고 이벤트 로그에서 모든 트래픽을 볼 수 있습니다. 또한 이를 자신의 AI 제품 구현을 위한 시작점으로 사용할 수 있습니다.

k-ID 모델에서 AI 제품이란?

AI 제품은 사용자가 텍스트 채팅, 음성, 이미지나 비디오 생성, 또는 지속적인 AI 페르소나와 같은 생성형 AI 기능과 상호 작용하는 모든 애플리케이션입니다. k-ID는 각 AI 기능을 별도의 권한으로 처리합니다. 각 권한은 사용자의 연령, 관할권, 부모 설정에 따라 활성화, 비활성화 또는 금지될 수 있습니다.

CDK 흐름은 다른 k-ID 제품과 동일합니다: 연령 게이트 → 사용자가 미성년자인 경우 VPC → 세션 → 권한 적용 → 웹훅을 통한 변경 사항 대응. AI 특화 부분은 단계 1에서 나열된 세션에서 반환되는 권한 세트입니다.

VPC 빠른 시작세션 및 권한 관리 빠른 시작을 참조하세요.

사전 요구 사항

시작하기 전에 다음이 필요합니다:

  1. k-ID 제품: k-ID Compliance Studio에서 제품 생성 및 구성
  2. API 키: Compliance Studio의 제품 개발자 설정 페이지에서 API 키 생성
  3. 웹훅 엔드포인트 (선택 사항이지만 권장): 세션 및 권한 이벤트를 받을 보안 HTTPS 엔드포인트 설정. 자세한 내용은 웹훅을 참조하세요.
  4. Compliance Studio에서 AI 권한 활성화: 제품의 기능에 해당하는 AI 권한을 활성화합니다(단계 1 참조).

단계 1: AI 권한 구성

Compliance Studio에서 제품을 열고 Configuration → Permissions 탭으로 이동하세요. AI 카테고리에는 AI 제품의 일반적인 기능에 매핑되는 7개의 권한이 포함되어 있습니다:

권한표시 이름설명활성화 시점
ai-chatAI 채팅귀하의 자녀는 상호 작용 또는 지원 기능 등의 목적으로 생성형 AI를 사용하는 기능과 자유롭게 의사소통할 수 있습니다.제품이 입력 방식과 무관하게 AI와의 자유 형식 대화를 제공하는 경우.
ai-companion-chatbot컴패니언 챗봇귀하의 자녀는 개인화된 콘텐츠를 통해 인간 상호 작용을 모방하는 AI 캐릭터 또는 컴패니언과 상호 작용할 수 있습니다.AI가 세션 간에 관계를 유지하는 지속적인 컴패니언 또는 페르소나로 자리매김하는 경우.
ai-memoryAI 메모리귀하의 자녀의 선호도와 AI와의 상호 작용이 보존되어 시간이 지남에 따라 자녀의 경험에 대한 프로필을 만드는 데 사용됩니다.AI가 세션 간에 사용자 선호도나 대화 기록을 보존하여 향후 상호 작용을 개인화하는 경우.
ai-voice-modeAI 음성 모드귀하의 자녀는 실시간 음성 대화에서 AI에게 말할 수 있습니다. AI는 자녀의 음성을 처리합니다.AI가 사용자의 음성을 처리(음성→텍스트)하거나 음성을 생성하여 응답(텍스트→음성)하는 경우.
ai-media-generationAI 미디어 생성귀하의 자녀는 자녀의 프롬프트를 기반으로 이미지 및/또는 비디오를 생성할 수 있는 AI와 상호 작용할 수 있습니다.AI가 사용자에 응답하여 이미지, 비디오 또는 오디오를 생성하는 경우.
ai-media-uploadAI 미디어 업로드귀하의 자녀는 AI와의 상호 작용의 일부로 이미지, 비디오 또는 기타 미디어를 제공할 수 있습니다.사용자가 AI에 의해 처리될 이미지, 비디오 또는 오디오를 업로드할 수 있는 경우.
ai-model-trainingAI 모델 학습귀하의 자녀의 정보와 입력이 AI 모델을 학습시키는 데 사용됩니다.사용자 입력이 AI 모델을 학습 또는 미세 조정하는 데 사용될 수 있는 경우.

제품의 기능을 반영하는 권한을 활성화하고 나머지는 끄세요. 미국(COPPA), 영국(AADC), 호주(온라인 안전법), EU(GDPR 제22조), 브라질에 맞춘 규칙을 포함하여, 지원되는 모든 관할권에 대한 관할권별 기본값이 이미 설정되어 있습니다.

ai-model-training 및 COPPA

2026 COPPA 개정안에 따르면, 자녀의 개인 정보를 AI 모델 학습 또는 개발에 공개하는 것은 **비필수적(non-integral)**으로 취급되며 별도의 부모 동의가 필요합니다. 제품에서 사용자 입력을 학습에 사용하는 경우 ai-model-training이 활성화되어 있는지 확인하고 2026 COPPA 개정안 가이드를 검토하세요.

모든 카테고리의 권한 전체 목록은 사용 가능한 권한을 참조하세요.

AI 제품은 다른 모든 k-ID 제품과 동일한 연령 게이트 및 검증 가능한 부모 동의(VPC) 흐름을 따릅니다. 위젯과 API가 관할권별 로직을 처리하므로 제품은 흐름을 시작하고 결과 세션을 받기만 하면 됩니다.

엔드투엔드 통합을 위해 다음 중 하나를 따르세요:

  • VPC 빠른 시작: 가장 빠른 경로입니다. 엔드투엔드 위젯을 사용하여 연령 수집, VPC, 데이터 알림, 권한을 하나의 iframe에서 처리합니다.
  • 커스텀 연령 게이트 빠른 시작: k-ID가 컴플라이언스 로직을 처리하는 동안 자체 연령 게이트 UI를 구축합니다.

부모가 동의 흐름을 완료하면 제품은 sessionId를 받습니다. /session/get으로 세션을 가져와 단계 1에서 구성한 AI 권한을 읽으세요:

GET /api/v1/session/get?sessionId=0ad1641f-c154-4c2a-8bb2-74dbd0de7723

Response:
{
"session": {
"id": "0ad1641f-c154-4c2a-8bb2-74dbd0de7723",
"permissions": [
{ "name": "ai-chat", "enabled": true, "managedBy": "GUARDIAN" },
{ "name": "ai-companion-chatbot", "enabled": false, "managedBy": "GUARDIAN" },
{ "name": "ai-memory", "enabled": true, "managedBy": "GUARDIAN" },
{ "name": "ai-voice-mode", "enabled": false, "managedBy": "GUARDIAN" },
{ "name": "ai-media-generation", "enabled": false, "managedBy": "GUARDIAN" },
{ "name": "ai-media-upload", "enabled": false, "managedBy": "GUARDIAN" },
{ "name": "ai-model-training", "enabled": false, "managedBy": "PROHIBITED" }
]
}
}

managedBy 필드는 각 권한을 누가 제어하는지 알려줍니다: GUARDIAN, PLAYER 또는 PROHIBITED. 전체 시맨틱은 권한을 참조하세요.

단계 3: 세션을 기반으로 AI 기능 게이팅

각 AI 기능을 제공하기 전에 세션의 관련 권한을 확인하세요. 패턴은 다른 k-ID 게이팅 기능과 동일합니다:

  • 권한: GUARDIAN, PLAYER, PROHIBITED 시맨틱을 포함하여 enabledmanagedBy가 작동하는 방식.
  • 세션 및 권한 관리 빠른 시작: 세션 가져오기, 시간 경과에 따른 비교, 업그레이드 요청, UI에서 비활성화된 기능 처리.

세션에서 AI 요청 구성

세션에서 permissions를 읽고 작은 헬퍼로 각 AI 기능을 게이팅한 다음, 결과 구성 객체를 AI 제공자에게 전달합니다:

function allowed(session, name) {
const permission = session.permissions.find((p) => p.name === name);
return permission?.enabled === true;
}

function buildAIConfig(session) {
return {
chat: allowed(session, "ai-chat"),
companion: allowed(session, "ai-companion-chatbot"),
memory: allowed(session, "ai-memory"),
voice: allowed(session, "ai-voice-mode"),
mediaGeneration: allowed(session, "ai-media-generation"),
mediaUpload: allowed(session, "ai-media-upload"),
trainOnInputs: allowed(session, "ai-model-training"),
};
}

const aiConfig = buildAIConfig(session);
const response = await aiProvider.respond({ prompt, ...aiConfig });

연결할 때 기억해야 할 네 가지 규칙:

  1. 읽고 나서 적용하세요. 세션 시작 시 /session/get을 호출하세요.
  2. 실패 시 차단. 권한이 누락되었거나 세션에 도달할 수 없으면 기능을 끕니다.
  3. 우아하게 성능을 저하시키세요. 기능 꺼짐 ≠ 막다른 길. 대체를 표시하세요.
  4. 미성년자는 기본 꺼짐. 부모가 활성화합니다.

단계 4: 권한 변경에 대응

부모는 Family Connect를 통해 언제든지 AI 권한을 조정할 수 있습니다. 예를 들어, 부모가 알림을 읽은 후 ai-companion-chatbot을 비활성화하거나, 자녀가 충분히 자라면 ai-voice-mode를 활성화할 수 있습니다. 제품은 그러한 변경 사항을 감지하여 사용자에게 반영해야 합니다.

감지 및 처리 패턴은 다른 권한 변경과 동일합니다:

  1. Session.ChangePermissions 웹훅을 구독하거나 시작할 때마다 캐시된 세션을 현재 세션과 비교합니다.
  2. 권한이 전환되면 제품 상태를 즉시 업데이트하여 사용자가 꺼진 기능을 사용하려 하지 않도록 합니다.
  3. 무엇이 어떻게 변경되었는지 사용자에게 명확하게 표시합니다.

웹훅 처리, 세션 비교, 연령이 올라간 사용자를 위한 managedBy: PLAYER 처리, 사용자에게 변경 사항 전달 등을 포함한 전체 구현은 세션 및 권한 관리 빠른 시작을 따르세요.

웹훅 구성

AI 제품의 경우 웹훅 엔드포인트가 다음을 수신하도록 구성되었는지 확인하세요:

  • Session.ChangePermissions: 부모가 사용자의 AI 권한을 활성화하거나 비활성화할 때 알림을 보냅니다.

이 이벤트는 다음 세션 가져오기를 기다리지 않고 AI 기능을 부모의 결정과 동기화 상태로 유지하는 데 필수적입니다.

다음 단계

이제 AI 제품이 k-ID와 연결되었으니, 다음 리소스를 통해 더 깊이 알아보세요:

  • 권한: 권한 구조, managedBy 값, 업그레이드 흐름에 대한 전체 참조
  • 세션 및 권한 관리: 부모가 시작한 권한 변경 사항의 실시간 처리
  • 2026 COPPA 개정안 가이드: AI 모델 학습 및 기타 비필수적 공개에 대한 컴플라이언스 영향
  • 웹훅: 웹훅 구현 및 검증에 대한 전체 가이드
  • CDK 개요: 권한 결정을 지원하는 컴플라이언스 엔진에 대한 자세한 설명
  • 출시 전 체크리스트: 라이브 전에 검토할 요구 사항