본문으로 건너뛰기

브라우저 및 기기 호환성

연령 확인 플로우에서 지원되는 브라우저와 기기를 빠르게 확인할 수 있도록 새로운 브라우저 및 기기 호환성 페이지를 문서에 추가했습니다.

새로운 기능

브라우저 및 기기 호환성

새 페이지에는 데스크톱 및 모바일의 최소 브라우저 버전, 그리고 임베디드 브라우저(iOS의 ASWebAuthenticationSession, Android의 Chrome Custom Tabs) 요구 사항이 안내되어 있습니다. 이를 통해 모든 인증 프로바이더의 호환성 요구 사항을 단일 참조로 통합했습니다.

새 문서

Account System Product

Account System Product를 출시했습니다. 조직의 중앙 계정 또는 플랫폼 프로덕트가 단일 API 키와 선택적 헤더를 사용하여 조직 내 다른 프로덕트를 대신해 인증 챌린지 및 세션을 생성할 수 있는 기능입니다.

새로운 기능

Account System Product

Compliance Studio에서 프로덕트를 Account System Product로 활성화하면, Kid-Target-Product-Id 헤더에 대상 프로덕트 ID를 넣어 같은 조직의 다른(비 계정 시스템) 프로덕트를 대신해 특정 k-ID API를 호출할 수 있습니다. Account System Product의 API 키를 사용하므로 대상별 키 관리나 로테이션이 필요 없습니다.

지원 엔드포인트:

보호자는 대상 프로덕트의 설정(고지, 권한, 브랜딩)만 보게 됩니다. Account System Product와 대상 프로덕트 모두 각 이벤트에 대한 웹훅을 받으며, onBehalfOfProductIdinitiatedByProductId로 크로스 프로덕트 플로우를 구분할 수 있습니다.

Account System Product는 다중 프로덕트 승인과 함께 사용할 수 있습니다. Account System Product를 대상의 필수 프로덕트로 설정하면 보호자가 한 번의 플로우에서 둘 다 승인할 수 있습니다.

문서

추가 법적 링크 및 Check age gate options

추가 법적 링크(Developer Details)와 Check age gate API의 options 매개변수에 대한 문서를 추가했습니다. 동의 플로우에서 플랫폼별 법적 문서(예: Xbox, PlayStation, Steam)를 표시할 수 있습니다.

새로운 기능

추가 법적 링크 (Developer Details)

Compliance Studio의 프로덕트 Developer Details 탭에서 동의 플로우에 표시되는 선택적 추가 법적 링크를 추가할 수 있습니다.

  • 제목링크: 현지화된 표시 제목과 URL(메인 법적 문서와 동일한 언어 옵션).
  • 변형 ID: Check age gate API 호출 시 사용하는 식별자(예: xbox-tos, playstation-privacy-policy). 항상 표시가 꺼져 있으면 필수입니다.
  • 항상 표시: 켜짐(기본값)이면 동의 플로우에서 링크가 항상 표시됩니다. 꺼짐이면 게임이 options에서 해당 변형 ID로 연령 게이트 API를 호출할 때만 표시됩니다.

게임이 여러 플랫폼에서 배포되고 플랫폼마다 다른 법적 문서 URL이 필요한 경우 사용하세요.

Check age gate API — options 매개변수

POST /api/v1/age-gate/check 요청 본문에서 선택적 options 개체를 지원합니다.

  • termsOfServiceDocument: 이용약관 변형 ID(구성된 추가 법적 링크와 일치해야 함).
  • privacyPolicyDocument: 개인정보 처리방침 변형 ID(구성된 추가 법적 링크와 일치해야 함).

챌린지가 생성되면 동의 화면에 프로덕트 기본 Privacy Policy 및 Terms of Service 대신 요청된 법적 링크가 표시됩니다.

문서

확인 URL 유효 기간 및 get-status 문서

연령 확인 문서를 업데이트하여 URL 유효 기간, 만료된 URL 처리, 상태 확인 방법을 추가했습니다.

새로운 기능

  • URL 유효 기간: 확인 URL은 생성 후 2주 동안 유효합니다. 만료 시간은 JWT의 token 쿼리 매개변수에 있으며, 표준 exp 클레임으로 URL이 아직 유효한지 확인할 수 있습니다.
  • 만료된 URL: 저장한 확인 ID로 /age-verification/get-status를 호출하세요. 확인을 찾을 수 없으면 새로 만드세요.
  • URL 없이 상태 확인: 확인 ID로 get-status를 호출하면 언제든 상태를 확인할 수 있습니다(URL 만료 후 또는 웹훅을 받지 못한 경우 등).
  • 보존 기간: 2주 이상 PENDING 상태로 남은 확인은 삭제되며 get-status에서 반환되지 않습니다.

업데이트된 문서

Age Gate Widget 리디렉션 URL 지원

Age Gate Widget 엔드포인트에 redirectUrl을 선택적 매개변수로 추가했습니다.

새로운 기능

Age Gate Widget API 업데이트

/widget/generate-age-gate-url 엔드포인트는 이제 options 객체 내에서 선택적 redirectUrl 매개변수를 지원합니다. 이를 통해 Age Gate Widget이 완료된 후 리디렉션할 URL을 지정할 수 있으며, 이는 엔드투엔드 위젯 엔드포인트와 유사합니다.

redirectUrl 매개변수는 HTTP/HTTPS URL 또는 사용자 정의 프로토콜 스키마를 사용하는 모바일 딥링크를 지원합니다.

업데이트된 API

확인 문서 업데이트

확인 문서를 업데이트하여 메서드 필드 설명을 개선하고 가이드를 명확히 했습니다.

새로운 기능

Verification Result 문서

Verification.Result Webhook 문서를 업데이트했습니다:

  • ageCategory 가이드: PASS 상태의 경우 ageCategory가 항상 존재하며 원시 연령 값보다는 액세스 제어 결정에 사용해야 함을 명확히 했습니다
  • 메서드 필드 업데이트:
    • 메서드 필드 목록에서 self-confirmationemail-confirmation 제거
    • age-estimation-scan 설명을 업데이트하여 연령 범위를 반환하는 얼굴 연령 추정 스캔(DOB 없음)임을 나타내도록 했습니다

업데이트된 문서

Widget.ExitReview 명확화 및 API 업데이트

연령 확인 및 VPC 흐름에 대한 위젯 UI를 언제 닫을지 명확히 하고 MegaWidgetOptions 스키마에 redirectUrl 지원을 추가했습니다.

새로운 기능

Widget.ExitReview 명확화

연령 확인 및 VPC 흐름에 대한 UI를 언제 닫을지 결정하는 신호로 Widget.ExitReview를 사용해야 함을 명확히 하기 위해 문서를 업데이트했습니다.

업데이트된 문서:

  • 연령 확인 가이드 - 확인 UI를 닫기 위해 Widget.ExitReview를 수신하는 방법에 대한 지침 추가
  • VPC 가이드 - VPC 위젯 UI를 닫기 위해 Widget.ExitReview를 수신하는 방법에 대한 지침 추가
  • CDK 임베디드 흐름 - 위젯 UI를 닫기 위해 Widget.ExitReview를 수신하는 방법에 대한 지침 추가

모든 언어 버전(영어, 일본어, 간체 중국어, 한국어)이 이 명확화로 업데이트되었습니다.

API 업데이트

MegaWidgetOptions의 redirectUrl

MegaWidgetOptions 스키마에 연령 확인 요청 스키마와 일관된 redirectUrl 지원이 포함되었습니다. 이를 통해 엔드투엔드 위젯을 사용할 때 리디렉션 URL을 지정할 수 있습니다.

업데이트된 스키마:

  • MegaWidgetOptions#/components/schemas/RedirectUrl에 대한 참조가 있는 redirectUrl 필드가 포함되었습니다

이 변경 사항은 모든 OpenAPI 사양 파일(영어, 일본어, 간체 중국어, 한국어)에서 사용할 수 있습니다.

문서 개선

프로덕트 이미지 사양

Compliance Studio의 프로덕트 이미지에 대한 권장 종횡비 및 해상도를 추가했습니다:

  • 로고: 1:1 (정사각형), 512×512px
  • 배너: 3:1 (가로), 2430×810px

FAIL 상태 Webhook 이벤트에 ageCategory가 포함되도록 업데이트되었습니다

연령 데이터가 사용 가능한 경우 Verification.Result Webhook 이벤트의 FAIL 상태 이벤트에 ageCategory 필드가 포함되도록 업데이트했습니다.

새로운 기능

FAIL 상태 이벤트의 ageCategory

ageCategory 필드는 다음 조건을 만족할 때 Verification.Result Webhook 이벤트의 FAIL 상태에 포함되도록 업데이트되었습니다:

  • failureReasonage-criteria-not-met
  • 연령 데이터가 사용 가능함 (age.lowage.high 모두 존재)

이를 통해 연령 기준을 충족하지 않아 검증이 실패한 경우에도 사용자의 연령 카테고리에 대한 더 완전한 정보를 제공하여 명확한 액세스 제어 경계를 유지하면서 더 나은 분석 및 로깅을 가능하게 합니다.

문서 업데이트

Verification.Result 문서가 이 변경 사항을 반영하도록 업데이트되었습니다:

  • 필드 테이블: FAIL 상태에서 ageCategory가 존재하는 시기를 명확히 하기 위해 설명 업데이트
  • 주요 차이점 테이블: Webhook 이벤트와 API 엔드포인트에서 ageCategory가 존재하는 시기 명확화
  • FAIL 상태 필드 존재 규칙: 특정 조건에서 ageCategory를 "때때로 포함됨"으로 표시하도록 업데이트
  • 전체 필드 매트릭스: Webhook의 FAIL 상태에서 ageCategory를 "sometimes²"로 표시하도록 업데이트
  • 페이로드 예시: 새로운 동작을 보여주기 위해 FAIL 상태 예시에 ageCategory 추가
  • 구현 체크리스트: FAIL 상태에서 ageCategory 처리에 대한 가이드 업데이트
  • 구현 참고 사항: PASS 및 FAIL 상태 모두에서 ageCategory의 동작 명확화

중요한 참고 사항

  • 액세스 제어: FAIL 상태 이벤트에 ageCategory가 존재하는 경우에도 액세스 제어 결정에 절대 사용하지 마세요. 액세스를 결정하려면 항상 status 필드를 사용하세요.
  • 일관성: 이 업데이트는 Webhook 이벤트와 API 엔드포인트 응답 모두에 적용됩니다
  • 언어 지원: 모든 언어 버전(영어, 일본어, 간체 중국어, 한국어)이 업데이트되었습니다

다음 단계

  • 업데이트된 Verification.Result 문서를 검토하세요
  • 필요한 경우 FAIL 상태 이벤트에서 ageCategory를 처리하도록 통합을 업데이트하세요
  • 기억하세요: 상태가 FAIL인 경우 필드가 존재하더라도 액세스 제어에 ageCategory를 사용하지 마세요. 분석, 로깅 또는 정보 제공 목적으로만 사용하세요.

새로운 세션 및 권한 가이드 및 문서 업데이트

세션 및 권한 관리를 위한 포괄적인 가이드를 추가하고 중요한 설명을 추가하여 핵심 개념 문서를 업데이트했습니다.

새로운 기능

새로운 가이드: 세션 및 권한 관리

새로운 빠른 시작 가이드를 추가했습니다: 세션 및 권한 관리. 이 가이드는 다음에 대한 단계별 지침을 제공합니다:

  • Webhook 및 세션 비교를 사용한 권한 변경 감지
  • 세션 삭제 및 취소 처리
  • 플레이어에게 권한 변경 사항 전달
  • 권한 업그레이드 흐름 구현
  • Challenge가 세션과 어떻게 관련되는지 이해

이 가이드는 부모가 설정을 수정하거나 플레이어가 연령 상승하는 등 시간이 지나면서 권한 변경에 대응해야 하는 통합에 필수적입니다.

문서 업데이트

세션 문서

세션 개념 페이지에 중요한 설명을 추가했습니다:

  • 세션 ID 지속성: 플레이어는 프로덕트당 정확히 하나의 세션을 가집니다. 세션 ID는 권한 변경을 통해 유지되지만, 세션이 취소되고 동의 흐름이 다시 완료되면 새로운 세션 ID가 생성됩니다.
  • 세션 삭제 동작: 삭제된 세션은 오류 코드 NOT_FOUND로 HTTP 400을 반환합니다(404가 아님). 이것은 의도적인 것입니다—삭제된 세션은 존재하지 않았던 것처럼 처리해야 합니다.
  • 연령 상승 변경: 연령 상승 이벤트는 Webhook 알림을 트리거하지 않습니다. 이러한 변경 사항을 감지하려면 세션 비교를 사용해야 합니다.

권한 문서

권한 개념 페이지를 다음 내용으로 강화했습니다:

  • managedBy 필드 변경: managedBy가 시간이 지나면서 변경될 수 있음을 명확히 했습니다(예: 플레이어가 연령 상승할 때 GUARDIAN에서 PLAYER로).
  • 플레이어 관리 권한: 플레이어가 /session/upgrade API를 통해 PLAYER 관리 권한을 활성화하도록 요청하면 Challenge를 생성하지 않고 자동으로 활성화됩니다.
  • 권한 업그레이드 콘텐츠: 권한 업그레이드 문서를 더 쉽게 찾을 수 있도록 권한 페이지에 통합했습니다.

변경 사항

통합된 문서

  • 권한 업그레이드 개념 페이지를권한 페이지에 통합했습니다. 모든 참조를 새 위치로 업데이트했습니다.

다음 단계

  • 새로운세션 및 권한 관리 가이드를 검토하세요
  • 통합이 세션 삭제를 올바르게 처리하는지 확인하세요(NOT_FOUND로 HTTP 400)

이러한 업데이트에 대한 질문이 있거나 통합에 대한 지원이 필요한 경우 지원 팀에 문의하세요.

Developer 역할 및 프로덕트 액세스 제어

Compliance Studio에 프로덕트 수준의 액세스 제어를 갖춘 새로운Developer역할을 도입하여 조직이 다양한 프로덕트와 팀 간의 명확한 경계를 유지할 수 있도록 했습니다.

새로운 기능

Developer 역할

Compliance Studio에서 새로운Developer역할을 사용할 수 있습니다. Developer 역할을 가진 사용자는 프로덕트 및 프로덕트 개발자 설정을 관리할 수 있지만, 명시적으로 할당된 프로덕트에 대해서만 가능합니다.

주요 기능:

  • 프로덕트 수준의 액세스 제어: Developer는 조직 내의 특정 프로덕트에만 액세스를 제한할 수 있습니다
  • 세분화된 권한: 각 Developer 역할 구성원을 각각의 프로덕트에 할당할 수 있어 프로덕트 수준의 액세스 제어를 가능하게 하고 조직 경계를 유지합니다
  • 프로덕트 관리: Developer는 할당된 프로덕트의 프로덕트 및 프로덕트 개발자 설정만 관리할 수 있습니다

구성원 액세스 관리

조직 설정에 새로운Member Access메뉴가 추가되어 Owner와 Admin이 Developer 역할을 가진 구성원에게 프로덕트 액세스를 할당할 수 있습니다.

작동 방식:

  • 액세스 할당: Owner와 Admin은 Member Access 메뉴를 사용하여 Developer 역할 구성원에게 특정 프로덕트를 할당할 수 있습니다
  • 다중 프로덕트 할당: 단일 Developer에게 여러 프로덕트를 할당할 수 있습니다
  • 즉시 적용: 프로덕트 액세스 할당은 즉시 적용됩니다

업데이트된 문서