콘텐츠로 이동

암시적 플로우

암시적(implicit) 동의 플로우는 사용자가 서비스에 가입하는 행위 자체가 약관에 대한 동의로 간주되는 방식이에요. 체크박스를 표시하지 않고, 대신 “계속하면 약관에 동의하는 것으로 간주합니다”와 같은 안내 문구를 보여줘요.


암시적 동의 플로우를 사용하려면 두 가지를 설정해야 해요.

terms 섹션에서 consent_modeimplicit으로 설정해요.

config.yaml
terms:
- id: tos
required: true
consent_mode: implicit
version: "1.0.0"
content:
ko:
title: 이용약관
type: link
content: https://example.com/ko/terms
en:
title: Terms of Service
type: link
content: https://example.com/en/terms
- id: privacy
required: true
consent_mode: implicit
version: "1.0.0"
content:
ko:
title: 개인정보 처리방침
type: link
content: https://example.com/ko/privacy
en:
title: Privacy Policy
type: link
content: https://example.com/en/privacy
  • id: 약관의 고유 식별자예요. 소문자 영숫자, -, _만 사용할 수 있어요.
  • required: 동의 필수 여부예요. 기본값은 true예요.
  • consent_mode: implicit으로 설정하면 암시적 동의 플로우가 적용돼요.
  • version: 약관의 버전이에요. 버전을 변경하면 기존 사용자에게 재동의를 요청할 수 있어요.
  • content: 언어별 약관 내용이에요. type에 따라 외부 링크(link)나 인라인 텍스트(text)를 사용할 수 있어요.

registration.signup_notice 항목에 사용자에게 표시할 안내 문구를 언어별로 설정해요. HTML 태그를 사용할 수 있어요.

config.yaml
registration:
signup_notice:
ko: >-
계속하면 <a href="https://example.com/ko/terms" class="link">이용약관</a>
및 <a href="https://example.com/ko/privacy" class="link">개인정보 처리방침</a>에
동의하는 것으로 간주해요.
en: >-
By continuing, you agree to our
<a href="https://example.com/en/terms" class="link">Terms of Service</a>
and <a href="https://example.com/en/privacy" class="link">Privacy Policy</a>.

암시적 동의 플로우에서는 다음과 같이 동작해요.

  1. 로그인/회원가입 페이지: registration.signup_notice에 설정한 안내 문구가 표시돼요.
  2. 회원가입 시: 사용자가 가입을 완료하면, 암시적 약관에 대한 동의가 자동으로 기록돼요. 별도의 체크박스나 사용자 조작이 필요 없어요.
  3. OAuth 소셜 로그인 시: 소셜 로그인 버튼을 누르는 행위 자체가 암시적 동의로 처리돼요.

암시적 동의와 명시적 동의를 함께 사용할 수 있어요. 이 경우 UI에서는 다음과 같이 표시돼요.

  1. 암시적 동의 안내 문구
  2. “그리고” 구분선
  3. 명시적 동의 체크박스
config.yaml
terms:
# 암시적 동의 약관
- id: tos
consent_mode: implicit
version: "1.0.0"
content: { ... }
# 명시적 동의 약관
- id: marketing
required: false
consent_mode: explicit
version: "1.0.0"
content:
ko:
title: 마케팅 수신 동의
type: text
content: 마케팅 이메일 및 프로모션 알림을 수신하시겠어요?
en:
title: Marketing Communications
type: text
content: Would you like to receive marketing emails and promotional notifications?