Apple, 영국에서 ATT 관련 반독점 소송 직면? 개인정보 보호 모바일 어트리뷰션의 미래

opoinstall
2026-09-14
5 min read

Apple이 영국에서 ATT 관련 반독점 소송에 직면했습니다. 2026년 9월 3일, 영국 경쟁항소심판소(CAT)에 제출된 집단 소송 청구에 따르면, Apple의 앱 추적 투명성(ATT) 프레임워크가 자사의 광고 사업에는 특혜를 주면서 제3자 개발자에게는 반경쟁적 제한을 가해 영국 개발자들에게 최대 20억 파운드의 피해를 입혔다고 주장합니다. 모바일 아키텍트, 퍼포먼스 마케팅 디렉터, 데이터 인프라 엔지니어에게 있어 개인정보 보호 모바일 어트리뷰션을 둘러싼 논란은 모바일 플랫폼상의 사용자 확보를 결정짓는 근본적인 변화를 시사합니다. 명시적 추적 권한 뒤에 IDFA 접근을 제한한 ATT 도입 이후, 모바일 생태계는 집계된 온디바이스 측정 프로토콜과 자사 중심의 Web-to-App 발견 퍼널로 전환되었습니다. 교차 앱 감시에 의존하지 않고 현대적인 어트리뷰션이 어떻게 작동하는지 평가하려면 Apple의 법적 리스크와 함께 AdAttributionKit, 군중 익명성 계층(Crowd Anonymity Tiers), 설치 경계 파라미터 유지의 기술적 메커니즘을 검토해야 합니다.

20억 파운드 규모의 영국 반독점 소송: 법적 주장과 플랫폼 거버넌스

런던에 제기된 이 집단 소송은 Apple의 플랫폼 데이터 거버넌스에 대한 중대한 법적 도전입니다. 전 영국 경쟁시장청(CMA) 고위 이사였던 앤 포프(Ann Pope)가 의장을 맡고 법무법인 하우스펠드(Hausfeld)가 자문하는 'ATT Collective Action Limited'라는 특수 목적 법인이 제기한 이 소송은, 2021년 4월 26일 ATT 도입 이후 앱 내 광고를 통해 수익을 창출했거나 iOS 앱 설치를 위해 광고 지면을 구매한 영국 앱 개발자들을 대신해 보상을 요구하고 있습니다.

한눈에 보기

  • 20억 파운드 손해 배상 청구: 2026년 9월 3일 영국 경쟁항소심판소에 제출된 이 집단 소송은 Apple이 소비자 개인정보 보호라는 명목하에 불공정한 상업적 경쟁 환경을 조성했다고 주장합니다.
  • 자사 우대 혐의: 소송은 제3자 개발자들에게는 광고 식별자에 접근하기 위해 제한적인 동의 절차를 요구한 반면, Apple의 자사 광고 네트워크는 별도의 장벽 없이 App Store 곳곳으로 확장되었다고 주장합니다.
  • 진행 현황: 현재 심판소의 인증을 기다리고 있습니다. 모든 혐의는 법정에서 입증되지 않았으며, Apple은 모든 앱에 걸쳐 소비자 데이터를 보호하기 위해 동일한 표준이 적용된다며 주장을 반박하고 있습니다.

현대 모바일 플랫폼 개인정보 및 데이터 추적 제어에 대한 일러스트레이션

로이터(Reuters) 보도와 하우스펠드(Hausfeld)가 발표한 성명에 따르면, 이번 소송은 소비자 개인정보 보호가 필수적인 조치인 것은 인정하면서도, Apple이 업계와 충분한 협의 없이 ATT를 일방적으로 도입하여 독립적인 퍼블리셔와 개발자들의 경제적 기반을 흔들었다고 주장합니다.

Apple은 이러한 주장을 반박하며, ATT는 외부 애플리케이션이 제3자 속성 전반에서 사용자 활동을 추적할 수 있는지 여부를 사용자가 세밀하게 제어할 수 있도록 설계되었다고 밝혔습니다. Apple은 자사를 포함한 모든 개발자가 교차 기업 추적에 관한 동일한 규칙을 따르며, ATT가 글로벌 개인정보 보호 옹호자들로부터 긍정적인 평가를 받아왔음을 강조합니다.

소송이 본격적인 재판 단계로 넘어가기 전, CAT는 이 소송이 집단 소송으로 적합한지 인증해야 합니다. 이 사건은 Kent v. Apple App Store 수수료 항소 및 Which? 클라우드 저장소 소송 등 현재 심판소에 계류 중인 다른 주요 플랫폼 소송들과 함께 진행됩니다.

+-------------------------------------------------------------------------+
|                  ATT 규제 논란 타임라인                                 |
+--------------------------+-----------------------+----------------------+
| 기간                     | 플랫폼 마일스톤      | 운영상 영향          |
+--------------------------+-----------------------+----------------------+
| 2021년 4월 26일          | ATT 의무화 도입       | iOS 14.5, IDFA를 명시적 동의 절차 뒤로 배치 |
| 2021년–2025년            | 생태계 전환           | IDFA 가용성 감소로 포스트백 채택 확산       |
| 2024년–2026년            | AAK & SKAN 확장       | AdAttributionKit, 다중 전환 창 어트리뷰션 리포팅 확장 |
|                          |                       |                                      |
| 2026년 9월 3일           | CAT 집단 소송         | 영국 개발자 대리하여 20억 파운드 반독점 소송 제기 |
| 진행 중 (2026–2027)      | CAT 인증              | 심판소, 집단 소송 인증 여부 평가            |
+--------------------------+-----------------------+----------------------+

기술적 분석: 결정론적 IDFA에서 집계된 개인정보 보호 프레임워크로

소송의 근간이 되는 운영 현실을 평가하기 위해, 엔지니어링 팀은 ATT 전후로 iOS 어트리뷰션 아키텍처가 어떻게 진화했는지 분석해야 합니다.

과거 모바일 광고 네트워크는 광고주용 식별자(ASIdentifierManager.shared().advertisingIdentifier, IDFA)에 의존했습니다. IDFA는 128비트 UUID로 표현되는 기기 고유 식별자로, 서로 다른 애플리케이션 간의 결정론적 측정을 가능하게 했습니다. 광고 네트워크는 광고 노출 시 IDFA를 기록하고, 어트리뷰션 제공업체에 전달하여 사용자가 앱을 새로 설치하고 열었을 때 조회된 IDFA와 매칭함으로써 노출과 전환 사이의 결정론적 연결을 수립할 수 있었습니다.

Apple 개발자 소프트웨어 프레임워크 및 플랫폼 도구 개요

ATT가 시행되면서 IDFA에 대한 접근은 ATTrackingManager.requestTrackingAuthorization 인터페이스 뒤로 배치되었습니다. 사용자가 '앱 추적 금지'를 선택하거나 시스템 수준에서 추적이 제한되면, API는 모두 0으로 구성된 UUID(00000000-0000-0000-0000-000000000000)를 반환합니다. 동의율이 보편적 수준에 미치지 못하게 되면서 결정론적 교차 앱 추적은 더 이상 대규모 사용자 확보를 위한 신뢰할 수 있는 기반이 되지 못하게 되었습니다.

사용자 신원을 공유하지 않고 캠페인 어트리뷰션을 제공하기 위해 Apple은 SKAdNetwork와 이후 AdAttributionKit을 도입했습니다. 특히 AdAttributionKit은 출력물에 사용자나 기기 고유 식별자를 포함하지 않기 때문에 사용자의 ATT 동의 상태와 독립적으로 작동합니다.

AdAttributionKit의 메커니즘은 세 가지 핵심 아키텍처 원칙에 기반합니다:

  1. 이중 암호화 검증: 광고 네트워크는 JSON 웹 서명(JWS)을 사용하여 암호화 방식으로 서명된 광고 노출을 생성합니다. 설치 및 전환 시 운영체제는 기기 내에서 노출 토큰을 검증하고, 이후 Apple이 암호화 방식으로 서명한 어트리뷰션 포스트백을 생성하여 광고 네트워크가 해당 전환이 iOS로부터 인증받았음을 확인할 수 있게 합니다.
  2. 지연된 포스트백 전송 창: 광고 네트워크가 정확한 설치 타임스탬프를 사용하여 측면 채널 타이밍 공격을 수행하지 못하도록, 포스트백은 무작위 지연을 거쳐 전송됩니다. Apple은 포스트백 준비와 수신 사이에 최소 24~48시간의 무작위 간격을 문서화하고 있으며, 전환 창이 잠기지 않는 한 총 전송 시간은 더 길어질 수 있습니다.
  3. 군중 익명성 데이터 계층: Apple은 광고 소스, 광고 대상 앱, 설치 지역, 계층적 소스 식별자에 걸친 조건에 따라 어트리뷰션 포스트백을 4개의 군중 익명성 계층(Tier 0~3) 중 하나로 할당합니다. 하위 계층에서는 포스트백 필드가 제한됩니다. 세밀한 전환 값(0~63)은 거친 값(low, medium, high)으로 대체되거나 Tier 0에서 완전히 생략되며, 소스 식별자는 4자리에서 2자리로 잘립니다.
+-------------------------------------------------------------------------+
|             결정론적 IDFA vs. 집계된 개인정보 보호 어트리뷰션           |
+-------------------------------------------------------------------------+
|                                                                         |
|  [ ATT 이전의 결정론적 패러다임 ]                                       |
|  광고 노출 (IDFA 기록: UUID-1)                                          |
|         |                                                               |
|         v                                                               |
|  앱 최초 실행 (IDFA 조회: UUID-1)                                       |
|  결과: 결정론적, 사용자 단위, 실시간 광고 어트리뷰션                    |
|                                                                         |
+-------------------------------------------------------------------------+
|                                                                         |
|  [ ATT 이후의 집계된 프로토콜: AdAttributionKit / SKAN ]                |
|                                                                         |
|  광고 노출 (네트워크 서명 JWS 토큰)                                     |
|         |                                                               |
|         v                                                               |
|  [ 앱 스토어를 통한 사용자 설치 ]                                       |
|         |                                                               |
|         v                                                               |
|  [ 온디바이스 어트리뷰션 처리 ]                                         |
|         |                                                               |
|         |-- (전환 창 계산: 무작위 24–48시간 지연)                       |
|         |-- (군중 익명성 계층 0–3 필드 마스킹 적용)                     |
|         v                                                               |
|  [ Apple 서명된 익명 포스트백, 네트워크 엔드포인트로 전송 ]             |
|  페이로드: 거친 값, 세밀한 값 또는 Null (계층에 따라 다름)             |
|           소스 식별자 (2–4자리)                                         |
|                                                                         |
+-------------------------------------------------------------------------+

AdAttributionKit은 사용자 단위 데이터 노출을 줄이면서도 캠페인 효과를 측정하도록 설계되었지만, 지연된 피드백과 집계된 리포팅은 실시간 알고리즘 입찰에 운영상 어려움을 줍니다.

다운스트림 모바일 확보와 자사 설치 경계

교차 앱 사용자 추적의 데이터 정확도가 집계된 포스트백 모델에서 감소함에 따라, 퍼포먼스 마케팅 팀은 Web-to-App 퍼널에 대한 의존도를 높였습니다. Web-to-App 아키텍처에서 사용자 확보는 소유된 자사 모바일 웹 환경에서 시작됩니다.

Apple의 개인정보 보호 지침에 따르면, 추적은 타겟 광고나 측정 목적으로 한 기업의 앱에서 수집된 사용자/기기 데이터를 다른 기업의 앱, 웹사이트 또는 오프라인 속성에서 수집된 데이터와 연결하는 것으로 정의됩니다. 광고주가 자신의 웹사이트(예: https://brand.example.com)로 트래픽을 유도할 때, 해당 상호작용은 자사 컨텍스트 내에서 발생합니다. 소유 도메인에서 사용자를 참여시키고, 프로모션 제안을 제공하고, 구매 의도를 포착하는 행위는 결과 데이터가 제3자 데이터셋과 결합되지 않는 한 교차 기업 추적으로 간주되지 않습니다.

그러나 사용자를 자사 모바일 랜딩 페이지에서 네이티브 iOS 앱으로 이동시키는 과정에서 설치 경계가 발생합니다:

+-------------------------------------------------------------------------+
|             분리된 다운스트림 모바일 확보 여정                          |
+-------------------------------------------------------------------------+
|                                                                         |
|  [ 사용자가 자사 모바일 웹 페이지에 랜딩 ]                              |
|  포착된 컨텍스트: ?channel=partner_promo&discount=SAVE20&sku=8831      |
|         |                                                               |
|         v                                                               |
|  [ 사용자, 앱 다운로드 CTA 클릭 ]                                       |
|         |                                                               |
|         v                                                               |
|  [ Apple App Store로 리다이렉트 ]                                       |
|         |                                                               |
|         v                                                               |
|  [ 설치 경계: 표준 앱 스토어 다운로드 플로우는 웹 쿼리 파라미터나       |
|    커스텀 URL 스트링을 앱 바이너리로 전달하지 않음 ]                    |
|         |                                                               |
|         v                                                               |
|  [ 사용자가 네이티브 앱을 최초 실행 (콜드 부트) ]                       |
|         |                                                               |
|         v                                                               |
|  [ 지연된 딥링크 엔진 (서버 보조 복원) ]                                |
|         |                                                               |
|         v                                                               |
|  [ 유효한 설치 전 파라미터 복원 및 온보딩 적용 ]                       |
|                                                                         |
+-------------------------------------------------------------------------+

설치되지 않은 사용자가 Safari에서 앱 스토어로 이동할 때, 표준 배포 흐름은 임의의 URL 쿼리 문자열을 설치된 앱 번들로 전달하지 않습니다. 첫 실행 시, 네이티브 앱은 어떤 웹 캠페인이나 제품 페이지가 사용자를 유도했는지 원천적으로 파악할 수 없습니다.

권한 없는 교차 기업 추적 식별자에 의존하지 않고 이 경계를 연결하기 위해 엔지니어링 팀은 독자적인 링크 처리 아키텍처를 구현합니다:

라우팅 아키텍처 사용자 앱 상태 설치 전 파라미터 유지 플랫폼 개인정보 보호 아키텍처
검증된 유니버설 링크 대상 앱 설치됨 앱 스토어 우회; 직접 장면 탐색 검증된 HTTPS 도메인-앱 연동 사용; 수집된 데이터와 후속 사용에 따른 개인정보 보호
AdAttributionKit / SKAN 대상 앱 없음 집계된 포스트백; 커스텀 쿼리 파라미터 없음 집계된 캠페인 측정; 최소 24~48시간 지연 포스트백; 로우 레벨 컨텍스트 없음
지연된 딥링크 (DDL) 대상 앱 없음 첫 콜드 부트 시 유효한 설치 전 파라미터 복원 서버 보조 방식의 유효 설치 전 컨텍스트 복원, 공급업체 구현 및 플랫폼 규칙 준수

프로덕션 아키텍처에서 개발 팀은 Branch, AppsFlyer, Adjust 또는 Opoinstall과 같은 지연된 딥링크 프레임워크를 배포합니다. Opoinstall과 같은 플랫폼은 사용자를 앱 스토어로 리다이렉트하기 전에 가맹점 랜딩 페이지에서 유효한 캠페인 컨텍스트(프로모션 토큰이나 제품 SKU 등)를 포착합니다.

애플리케이션의 최초 콜드 부트 시, 클라이언트 SDK는 어트리뷰션 백엔드에 쿼리를 보내 캐시된 세션 파라미터를 복원합니다. Opoinstall 홈페이지의 플랫폼 문서에 따르면, 이 지연된 파라미터 통과 프레임워크는 유효한 사례의 최대 98%에서 첫 실행 시 파라미터를 복원할 수 있어 수동 프로모션 코드의 대안을 제공합니다.

명확한 아키텍처 경계를 유지하는 것이 중요합니다: 지연된 딥링크는 관찰된 적 없는 제3자 측정 이벤트를 재현하지 않으며, 플랫폼의 추적 규칙을 우회하지도 않습니다. 이는 설치 경계가 발생하기 전 허용된 자사 여정 내에서 이미 포착된 유효한 도착지, 캠페인 또는 추천 컨텍스트를 복원하는 것입니다.

// 첫 실행 시 컨텍스트 복원을 보여주는 Swift 구현 예시.
// 영구적인 교차 앱 광고 식별자(IDFA)에 의존하지 않고 
// 애플리케이션 콜드 부트 시 유효한 지연 어트리뷰션 파라미터를 소비합니다.

import UIKit

struct AttributionPayload: Decodable {
    let channel: String
    let campaignId: String
    let targetRoute: String
    let promoCode: String?
}

final class FirstLaunchAttributionManager {
    static let shared = FirstLaunchAttributionManager()
    
    // 로컬 실행 상태 장부 플래그 (어트리뷰션 또는 기기 식별자 아님)
    private let hasCompletedFirstLaunchKey = "com.app.hasCompletedFirstLaunchRestoration"
    
    private init() {}

    /// 애플리케이션이 첫 실행 파라미터 복원을 성공적으로 완료했는지 여부 표시
    var isRestorationPending: Bool {
        return !UserDefaults.standard.bool(forKey: hasCompletedFirstLaunchKey)
    }

    /// 중복 실행 방지를 위해 복원 프로세스를 해결됨으로 표시
    func markRestorationCompleted() {
        UserDefaults.standard.set(true, forKey: hasCompletedFirstLaunchKey)
    }

    /// 어트리뷰션 SDK 콜백 또는 클라이언트 프레임워크에서 유효한 설치 전 파라미터를 검색.
    /// 참고: 매칭 알고리즘과 세션 상관관계 신호는 공급업체별로 다르며 여기서는 생략됨.
    func handleDeferredAttribution(with payloadResult: Result<AttributionPayload, Error>,
                                   in window: UIWindow?) {
        guard isRestorationPending else {
            return
        }

        switch payloadResult {
        case .success(let payload):
            // 페이로드 수신 성공 시에만 복원 완료 표시
            markRestorationCompleted()
            applyNavigationRoute(payload, in: window)
            
        case .failure(let error):
            // 완료 플래그를 설정하지 않고 에러를 기록하여 일시적인 실패 발생 시 후속 재시도 허용
            print("일시적인 어트리뷰션 검색 실패: \(error.localizedDescription)")
        }
    }

    /// 복원된 자사 컨텍스트를 활성 장면 내비게이션 계층에 적용
    private func applyNavigationRoute(_ payload: AttributionPayload, in window: UIWindow?) {
        DispatchQueue.main.async {
            guard let navigationController = window?.rootViewController as? UINavigationController else {
                return
            }

            // 설치 전 웹 랜딩 페이지에서 발견된 목적지로 사용자 라우팅
            if payload.targetRoute.hasPrefix("products/"),
               let sku = payload.targetRoute.split(separator: "/").last.map(String.init) {
                let detailVC = ProductDetailViewController(sku: sku, promoCode: payload.promoCode)
                navigationController.pushViewController(detailVC, animated: true)
            }
        }
    }
}

// 복원된 캠페인 상태를 소비하는 뷰 컨트롤러 예시
class ProductDetailViewController: UIViewController {
    private let sku: String
    private let promoCode: String?

    init(sku: String, promoCode: String?) {
        self.sku = sku
        self.promoCode = promoCode
        super.init(nibName: nil, bundle: nil)
    }

    required init?(coder: NSCoder) { 
        fatalError("init(coder:)가 구현되지 않았습니다") 
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .systemBackground
        title = "제품: \(sku)"
        
        if let code = promoCode {
            // 웹 랜딩 페이지에서 전달된 프로모션 할인 자동 적용
            print("복원된 바우처 코드 자동 적용 중: \(code)")
        }
    }
}

자주 묻는 질문 (FAQ)

영국 반독점 소송이 Apple에 대해 제기한 구체적인 위반 사항은 무엇입니까?
영국 경쟁항소심판소에 제기된 청구는 Apple이 자사의 광고 서비스에는 적용하지 않으면서 제3자 iOS 앱 개발자들에게는 ATT를 통해 더 엄격한 개인정보 보호 및 추적 동의 장벽을 부과함으로써 반경쟁적 자사 우대 행위를 저질렀다고 주장합니다. 원고들은 이러한 불평등한 집행으로 제3자 광고 수익이 감소하고 고객 확보 비용이 상승했다고 주장합니다. Apple은 ATT가 소비자 개인정보를 보호하며 모든 앱에 동일하게 적용된다고 주장하며 해당 혐의를 거부하고 있습니다.
AdAttributionKit은 광고주용 식별자(IDFA)와 어떻게 다릅니까?
IDFA는 과거에 서로 다른 기업이 소유한 애플리케이션 및 웹사이트 전반에서 결정론적인 사용자 단위 추적을 가능하게 했던 기기 고유 식별자입니다. AdAttributionKit은 포스트백에 영구적인 사용자 또는 기기 고유 식별자를 의존하지 않습니다. 대신 iOS는 기기 내에서 광고 노출을 암호화 방식으로 검증하고 집계되고 지연되며 계층 마스킹 처리된 포스트백을 광고 네트워크에 전달함으로써 개별적인 교차 앱 사용자 프로필 재구성을 방지합니다.
자사 Web-to-App 캠페인은 ATT와 어떻게 상호작용합니까?
Apple의 개인정보 보호 정책에 따라 추적은 타겟 광고나 측정을 목적으로 한 기업의 앱에서 수집된 사용자/기기 데이터를 다른 기업의 앱이나 웹사이트 데이터와 연결하는 것을 의미합니다. 자사 Web-to-App 흐름은 데이터가 광고주의 허용된 자사 사용 범위 내에 머물러 있고 교차 기업 추적을 위해 제3자 데이터셋과 공유되거나 결합되지 않는 경우, IDFA에 의존하지 않고 유효한 캠페인 또는 목적지 컨텍스트를 유지할 수 있습니다. 지연된 딥링크는 이러한 자사 컨텍스트를 복원하지만, 그 자체로 어트리뷰션 방식을 ATT 면제 대상으로 만들지는 않습니다.

모바일 아키텍트 및 그로스 팀을 위한 전략적 지침

앱 추적 투명성(ATT)을 둘러싼 20억 파운드 규모의 영국 소송은 제한 없는 교차 애플리케이션 결정론적 기기 추적은 다시 돌아오지 않을 것이라는 업계의 진실을 반영합니다. 플랫폼 자사 우대에 대한 심판소 판결과 관계없이, 모바일 운영체제는 앞으로도 엄격한 개인정보 보호 경계를 유지할 것입니다.

모바일 엔지니어링 팀과 성장 리더가 이 환경에 적응하려면 다음 세 가지 기술적 약속이 필요합니다:

  • 플랫폼 네이티브 개인정보 보호 프레임워크 채택: 광고 구매 파이프라인 내에 AdAttributionKit과 SKAdNetwork를 구현하여 더 이상 사용하지 않는 추적 관행에 의존하지 않고 집계된 캠페인 전환을 포착하십시오.

  • 자사 Web-to-App 경로 강화: 자사 컨텍스트에서 고객 의도를 포착하는 탄력적인 웹 랜딩 아키텍처를 구축하고, 설치된 사용자에게는 검증된 유니버설 링크를, 설치 전에는 지연된 딥링크를 배포하여 앱 설치 전반에 걸친 연속성을 유지하십시오.

  • 의도에 따른 애플리케이션 라우팅 설계: 네이티브 온보딩 구조가 식별 수준의 추적 토큰이 아닌 동적 파라미터 페이로드를 소비하도록 구조화하여, 프로모션 할인과 딥링크 목적지가 콜드 부트 시퀀스 전반에서 투명하고 신뢰성 있게 유지되도록 하십시오.

참조

Share this article