
가장 사적인 데이터가 광고 회사로 흘러갔다
생리 주기 추적 앱은 전 세계 수억 명의 여성이 사용하는 도구예요. 마지막 생리 시작일, 주기 길이, 컨디션, 성관계 여부, 임신 시도 여부까지 정말 사적인 정보가 매일같이 입력되거든요. 그런데 최근 한 분석에서, 인기 있는 여러 생리 주기 앱이 사용자의 입력 데이터를 메타(페이스북·인스타그램의 모회사)의 광고 SDK를 통해 외부로 송신하고 있었다는 사실이 다시 한 번 드러났어요.
이게 왜 "다시 한 번"이냐면, 사실 이 문제는 처음이 아니거든요. 2019년에도 영국 시민단체 프라이버시 인터내셔널이 같은 문제를 폭로한 적이 있고, 2022년 미국 로 대 웨이드 판결 번복 이후로는 "낙태 관련 데이터로 사용자가 기소될 수도 있다"는 우려까지 더해지면서 더 민감해진 주제예요. 그런데도 시간이 지나면 또 비슷한 일이 반복되는 게 현실이에요.
어떤 식으로 데이터가 새는 걸까
많은 분들이 "앱이 데이터를 판다"고 하면 어떤 음흉한 백도어를 상상하시는데, 실제 메커니즘은 훨씬 평범하고 그래서 더 무섭습니다. 모바일 앱 개발자들은 광고 수익을 얻거나 사용자 행동을 분석하기 위해 메타의 "Meta SDK"(과거 Facebook SDK)를 앱에 끼워 넣어요. 이 SDK는 한 줄짜리 함수로 "이 사용자가 방금 어떤 이벤트를 했다"는 신호를 보낼 수 있게 해주거든요. 예를 들어 logEvent("period_logged") 같은 식이죠.
문제는 개발자가 이 이벤트의 이름과 부가 정보를 자유롭게 정한다는 거예요. 그래서 어떤 앱은 무심코 "마지막 생리일", "임신 시도 중" 같은 매우 구체적인 라벨을 이벤트 파라미터에 넣어 메타 서버로 보내버려요. 메타는 이 데이터를 받아서 자기네 광고 타겟팅 그래프에 넣고요, 사용자의 페이스북 프로필과 연결합니다. 사용자가 페이스북 계정과 앱 계정을 연동하지 않았더라도, 광고 식별자(IDFA, AAID)나 IP 주소를 통해 동일인으로 매칭되는 경우가 많아요.
결과적으로 사용자는 "이 앱에 입력했을 뿐"인데, 그 데이터가 메타의 광고 인프라에 "임신 가능성이 높은 사용자"라는 라벨로 저장되고, 인스타그램 피드에 임산부 영양제 광고가 뜨기 시작하는 식의 흐름이 만들어지는 거예요.
기술적으로 막을 방법은 있는데
사실 이 문제는 기술적으로 막을 방법이 없는 게 아니에요. 애플은 iOS 14.5부터 앱 추적 투명성(ATT)을 도입해서, 사용자가 "추적 허용"을 명시적으로 누르지 않으면 IDFA를 못 받게 막았어요. 또 앱 스토어 등록 시 "개인정보 영양표(privacy nutrition label)"를 의무화해서 어떤 데이터가 어디로 가는지 표시하게 했고요. 안드로이드도 비슷한 방향으로 가고 있어요.
그런데 이런 정책이 있어도 우회는 가능합니다. SDK가 광고 ID 대신 디바이스 핑거프린트나 이메일 해시를 보내면 추적이 이어지거든요. 메타는 "고급 매칭(Advanced Matching)"이라는 기능을 제공하는데, 사용자의 이메일이나 전화번호를 SHA-256으로 해시해서 보내면 메타 쪽에서 페이스북 계정과 매칭해주는 방식이에요. 해시는 한 방향이라 "보호된" 것처럼 들리지만, 이메일 전체 풀이 한정적이라 사실상 평문과 다름없는 매칭 키가 됩니다.
GDPR이나 미국 일부 주의 헬스 프라이버시 법(HIPAA, 일리노이주의 BIPA, 워싱턴주의 My Health My Data Act 등)은 이런 데이터 공유를 명시적 동의 없이는 금지하고 있어요. 하지만 "동의"가 앱 첫 화면에서 작은 글씨로 "개인정보 처리방침에 동의합니다" 체크박스 하나로 받아지는 경우가 대부분이라, 실질적인 보호 효과는 떨어진다는 비판이 많아요.
비슷한 사례들
생리 주기 앱만의 문제는 아니에요. 정신건강 앱, 명상 앱, 만성질환 관리 앱, 심지어 건강보험사 앱에서도 비슷한 데이터 유출 사례가 반복적으로 보고되고 있어요. 미국에서는 텔레헬스 회사 BetterHelp가 사용자 정신건강 정보를 메타·스냅챗 등에 광고용으로 넘긴 게 적발되어 FTC로부터 780만 달러 벌금을 맞은 적도 있고요. GoodRx라는 처방약 가격 비교 앱도 비슷한 사유로 제재를 받았어요.
공통된 패턴은 "앱은 헬스 서비스를 표방하지만, 수익 모델은 광고에 기대고 있고, 광고 SDK가 헬스 데이터를 무차별적으로 빨아들이는" 구조예요. 헬스 앱이라면서 의료 데이터로서의 보호 책임은 회피하고, 일반 앱처럼 광고 인프라에 데이터를 흘리는 거죠.
한국 개발자에게 주는 시사점
한국에서도 헬스케어 앱, 다이어트 앱, 운동 앱이 정말 많이 나오고 있어요. 개인정보보호법은 민감 정보(건강 정보 포함)에 대해 별도 동의를 요구하지만, 실무에서 "앱에 페이스북 SDK 붙이면 자동으로 어떤 데이터가 나가는지"를 정확히 파악하지 않고 통합하는 경우가 흔합니다. 개발자 입장에서는 SDK 문서가 보내는 데이터를 명시적으로 검토하고, 가능하면 네트워크 캡처 도구(Charles, mitmproxy)로 실제 송신 내용을 확인하는 게 안전해요.
그리고 분석이 정말 필요하다면, 외부 SDK 대신 자체 서버로 보내거나 개인정보를 식별 불가능한 형태로 집계해서 보내는 설계가 점점 표준이 되고 있어요. 또 사용자에게 어떤 데이터가 어디로 가는지 투명하게 공개하는 것이 단순히 법적 의무를 넘어 신뢰를 만드는 핵심 마케팅 포인트가 되는 시대거든요.
마무리
생리 주기 앱 사건은 "광고 SDK 하나가 얼마나 사적인 데이터를 외부로 흘릴 수 있는지"를 보여주는 교과서적 사례예요. 우리가 만드는 앱이 사용자에게 어떤 약속을 하고 있는지, 그 약속이 SDK 통합 한 줄 때문에 깨지지는 않는지 다시 점검해 볼 시점이에요.
여러분이 만들고 계신 앱에는 어떤 외부 SDK가 들어가 있나요? 그 SDK가 정확히 어떤 데이터를 어디로 보내는지 마지막으로 확인하신 게 언제인지 한 번 떠올려 보시면 좋을 것 같아요.
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공