구독 서비스 화면을 고치다 보면 같은 요청이 반복됩니다. 해지 버튼을 한 단계 뒤로 보내 달라, 인상 동의 팝업에서 동의 버튼만 눈에 띄게 해 달라는 요청입니다. 몇 해 전까지 이것은 전환율 실험이었습니다.

2025년 2월 14일부터는 사정이 다릅니다. 개정 전자상거래법이 다크패턴 6개 유형을 직접 금지했고, 공정위는 2025년 10월 실제로 과태료를 부과했습니다. 기획서에 적힌 한 줄이 위법 요건을 그대로 채우는 상황이 생겼습니다.

금지 조항은 두 덩어리로 나뉘어 있습니다

규제는 조문 두 곳에 흩어져 있습니다. 전자상거래법 제13조 제6항은 정기결제 대금을 올리거나 무료를 유료로 바꿀 때 사전 동의를 받으라는 '하라'는 의무입니다. 제21조의2 제1항 제1호부터 제5호까지는 '하지 말라'는 금지 목록입니다.

금지 목록은 순차공개 가격책정, 특정옵션 사전선택, 잘못된 계층구조, 취소·탈퇴 방해, 반복간섭 다섯 가지입니다. 여기에 숨은갱신을 더해 흔히 6유형이라고 부릅니다. 모두 2025년 2월 14일부터 시행 중입니다.

개발 입장에서는 이 구분이 중요합니다. 숨은갱신 하나는 없던 기능을 새로 만드는 일이고, 나머지 다섯은 지금 화면에서 무언가를 빼거나 되돌리는 일입니다.

요금 인상과 유료 전환 동의는 30일 이내에 받으세요

시행령은 사전 동의 시점을 '대금 증액 또는 유료 전환 전 30일 이내'로 못 박았습니다. 무료 체험이 끝나 유료로 넘어가는 경우도 같습니다. 가입 약관에 '요금은 변경될 수 있습니다'로 받아둔 포괄 동의는 이 요건을 채우지 못합니다.

30일 이내는 늦게 알리지 말라는 뜻만이 아닙니다. 변경 시점에서 너무 멀리 떨어진 동의는 미리 받아둬도 쓸 수 없다는 뜻입니다.

개발 항목으로 번역하면 세 가지입니다. 변경 예정일에서 역산해 동의 요청을 띄우는 스케줄러, 금액과 적용일을 명시한 별도 동의 화면, 그리고 누가 언제 어떤 금액에 동의했는지 남기는 이력 테이블입니다. 이력은 분쟁이 생겼을 때 사업자가 내놓을 수 있는 거의 유일한 증거입니다.

동의하지 않은 회원을 어떻게 할지 먼저 정하세요

실무에서 더 어려운 쪽은 동의를 받는 화면이 아니라 동의하지 않은 회원입니다. 동의가 없으면 올린 금액을 청구할 수 없으니 결제 로직에 분기가 하나 더 생깁니다.

선택지는 셋입니다. 기존 금액으로 계속 유지하거나, 변경일에 구독을 종료하거나, 기능을 줄인 요금제로 내리는 방법입니다. 저희는 기존 금액 유지 트랙을 한동안 남기는 쪽을 권합니다. 요금제 두 개를 동시에 굴리는 운영 비용이 민원과 환불 처리 비용보다 싸게 끝나는 경우가 많습니다.

어느 쪽을 고르든 결제 모듈과 권한 체크, 안내 메일이 함께 바뀝니다. 동의 화면만 만들고 분기를 미루면 변경일 당일에 결제 실패와 문의가 한꺼번에 몰립니다.

첫 화면 총액 표시는 계도기간이 이미 끝났습니다

순차공개 가격책정은 6유형 중 유일하게 계도기간이 있었습니다. 제21조의2 제1항 제1호에 한해 시행일부터 6개월, 즉 2025년 8월 13일까지였고 그 기간에는 자진 시정을 유도했습니다. 지금은 직권조사와 시정명령, 과태료 대상입니다.

기준은 첫 화면입니다. 2025년 10월 24일 시행된 공정위 소비자보호 지침은 검색 결과와 상품 목록, 메인 페이지를 첫 화면으로 보고, 일반 소비자가 거부할 수 없는 비용의 합계를 그 자리에 표시하라고 봅니다.

개발 항목은 분명합니다. 목록 카드와 검색 결과에 노출하는 가격 필드를 단가에서 총액으로 바꾸고, 배송비·수수료·세금 계산을 목록 조회 단계로 끌어올려야 합니다. 상세 페이지에서만 더해 주던 값이 목록 성능 문제로 되돌아옵니다.

체크박스 기본값과 버튼 대비는 코드 한 줄에서 갈립니다

특정옵션 사전선택은 소비자가 고르기 전에 미리 청약 의사가 있다는 표시를 해 두는 행위입니다. 추가 보험, 유료 멤버십, 정기배송 전환 체크박스의 기본값이 켜져 있으면 그 자체로 요건에 들어갑니다.

잘못된 계층구조는 선택지 사이에 크기·모양·색깔의 현저한 차이를 두어 한쪽으로 몰아가는 행위입니다. 동의 버튼은 색을 꽉 채우고 거부는 작은 회색 텍스트로 깔아 두는 흔한 패턴이 여기에 해당합니다.

점검 항목은 선택 동의 기본값을 꺼진 상태로 두기, 동의와 거부 버튼의 크기·대비·위치를 같은 위계로 맞추기, 필수와 선택 라벨을 구분해 표시하기입니다. 디자인 시스템에 버튼 한 쌍을 컴포넌트로 추가하는 편이 화면마다 고치는 것보다 빠릅니다.

탈퇴가 위법이 되는 지점은 경로와 단계 수입니다

제21조의2 제1항 제4호는 정당한 사유 없이 청약철회나 해지, 탈퇴 절차를 복잡하게 하거나 수단을 제한하는 행위를 금지합니다. 가입은 앱에서 30초면 되는데 해지는 고객센터 전화만 받는 구조가 가장 전형적인 위반 형태입니다.

공정위와 소비자원이 2025년 2월부터 7월까지 점검한 결과, 시정된 45건 중 취소·탈퇴 방해가 15건으로 가장 많았고 숨은갱신이 9건으로 뒤를 이었습니다. 시정 내용은 웹·앱에서 해지 신청을 받도록 열고, 해지 의사 확인 단계를 줄이고, 즉시해지 선택지를 추가하는 것이었습니다.

  • 가입에 필요한 클릭 수와 해지에 필요한 클릭 수를 세어 비교하세요.
  • 가입한 경로에서 그대로 해지가 끝나는지 확인하세요.
  • 이미 로그인한 회원에게 본인인증을 다시 요구하지 않는지 보세요.
  • 해지 메뉴가 설정 몇 단계 아래에 묻혀 있는지, 검색으로 찾아지는지 보세요.
  • 중도해지가 가능한 상품이면 그 사실을 해지 화면에서 안내하는지 보세요.

붙잡는 팝업은 두 번째부터 위법입니다

반복간섭은 팝업창 등으로 이미 끝난 선택을 2회 이상 바꾸라고 요구하는 행위입니다. 해지를 누른 사용자에게 할인 제안을 한 번 띄우는 것 자체가 금지된 것은 아닙니다. 같은 요구를 다시 쌓는 순간 선을 넘습니다.

시행령은 예외를 하나 뒀습니다. 소비자가 7일 이상 같은 요구를 받지 않도록 선택할 수 있게 해 두면 반복 요구로 보지 않습니다. '7일간 보지 않기' 스위치가 사실상 면제 장치인 셈입니다.

개발 항목은 노출 횟수 카운터와 억제 플래그입니다. 쿠키에만 저장하면 기기나 브라우저가 바뀔 때 다시 뜨므로, 회원 단위로 서버에 저장해야 합니다.

제재는 금액보다 시정명령과 영업정지가 먼저 아픕니다

2025년 10월 15일 공정위는 OTT·음원·쇼핑 4개 사업자에 시정명령과 과태료 1,050만 원을 부과했습니다. 웨이브 400만 원, NHN벅스 300만 원, 쿠팡 250만 원, 스포티파이 100만 원입니다. 쿠팡은 멤버십 가격 인상 동의를 받는 방식이, 웨이브와 벅스는 일반해지만 안내하고 중도해지를 알리지 않은 점이 문제가 됐습니다.

제재 수준은 2025년 2월 시행 당시 기준으로 1차 과태료 100만 원과 영업정지 3개월, 2차 200만 원과 6개월, 3차 500만 원과 12개월입니다. 2026년 1월 통과된 개정법은 다크패턴 과태료 상한을 500만 원에서 1,000만 원으로 올려 2026년 7월 21일부터 시행했고, 자진시정 감경 폭도 최대 30%에서 10% 이내로 줄었습니다. 차수별 금액은 상한 인상에 맞춰 정비 대상이므로 현재 수치는 시행규칙 원문으로 확인하세요.

금액만 보면 작습니다. 실제 비용은 시정명령을 받고 화면과 결제 로직을 급하게 고치는 일, 그리고 반복 위반 시의 영업정지입니다. 사례를 보면 화면을 손대지 않아도 해지 안내 문구와 FAQ만으로 걸립니다.

이 기준이 그대로 맞지 않는 경우도 있습니다

법령에는 '해지는 몇 단계까지'처럼 숫자로 떨어지는 기준이 없습니다. 판단은 가입 절차와의 비교, 그리고 정당한 사유가 있는지로 이뤄집니다. 본인 확인이 필요한 계약처럼 절차가 길어질 사유가 있다면 그 사유를 설명할 수 있어야 합니다.

공정위 지침은 판단 기준을 알려 주는 문서이고 그 자체가 처벌 조항은 아닙니다. 통신 서비스는 전기통신사업법 쪽 규율이 따로 논의되고 있어 업종에 따라 확인할 법이 하나 더 늘어납니다. 오프라인 매장이나 사업자 간 거래는 이 조항의 대상이 아닙니다.

조문과 수치는 원문으로 한 번 더 맞춰 보시기 바랍니다. 30일 사전 동의 기준과 6유형 요약은 정책브리핑 설명자료에, 조문 전문은 국가법령정보센터에 있습니다. 화면 요구사항을 개발 항목으로 바꾸는 작업은 실무 가이드 카테고리와 Codeforest에서 이어 보실 수 있습니다.

결론: 선은 의도가 아니라 화면 구조에서 그어집니다

어디까지가 설계이고 어디부터가 위법인지는 기본값이 켜져 있는지, 두 버튼의 대비가 같은지, 가입과 해지의 단계 수가 비슷한지, 같은 팝업이 두 번 뜨는지에서 갈립니다. 모두 코드로 확인되고 코드로 고쳐지는 항목입니다.

지금 할 일은 세 가지로 줄여도 됩니다. 요금 변경 30일 이내 별도 동의와 동의 이력을 만들고, 가입한 경로에서 해지가 끝나게 열고, 선택 동의 기본값과 버튼 위계를 되돌리세요. 여기까지 하면 나머지는 운영 중 점검 항목으로 넘길 수 있습니다.