Export Compliance là tập hợp các yêu cầu kiểm soát xuất khẩu mà các cửa hàng ứng dụng áp dụng cho sản phẩm sử dụng mã hóa. Nhà phát triển phải chỉ định danh mục mật mã và nộp khai báo theo tiêu chuẩn của Cục Công nghiệp và An ninh Hoa Kỳ (BIS). Theo Apple Export Compliance Documentation, 2026, việc điền sai dẫn đến việc từ chối bản build. Quy trình này ảnh hưởng đến cả App Store và Google Play, đồng thời yêu cầu hiểu biết về các danh mục CCAT và thị trường đại chúng.
Những điểm chính
Export Compliance là tập hợp các yêu cầu quy định quản lý việc xuất khẩu phần mềm có chức năng mật mã ra bên ngoài Hoa Kỳ. Các quy tắc được thiết lập bởi Cục Công nghiệp và An ninh (BIS) thuộc Bộ Thương mại Hoa Kỳ theo Quy định 15 CFR Phần 730–774. Apple và Google, với tư cách là công ty Hoa Kỳ, có nghĩa vụ xác minh rằng các ứng dụng tuân thủ các quy định này. Nhà phát triển điền vào khai báo, nêu rõ danh mục mã hóa và loại thuật toán được sử dụng.
Cơ sở quy định là EAR (Quy định Quản lý Xuất khẩu), phân loại tất cả phần mềm mật mã theo danh mục. Danh mục 5 Phần 2 bao gồm các sản phẩm có mã hóa. Đối với ứng dụng di động, các quy tắc đơn giản hóa được áp dụng — thị trường đại chúng và thủ tục thông báo tự phân loại. Nhà phát triển không cần phải xin giấy phép cá nhân nếu ứng dụng thuộc diện ngoại lệ.
Bất kỳ ứng dụng nào sử dụng mã hóa đều phải vượt qua kiểm tra. Ngoại lệ là các sản phẩm chỉ sử dụng mã hóa tích hợp của hệ điều hành (URLSession trên iOS, SSLSocket trên Android) mà không thêm thuật toán mật mã tùy chỉnh. Nếu nhà phát triển thêm mã hóa tùy chỉnh, thư viện OpenSSL hoặc bất kỳ triển khai AES/RSA nào, việc khai báo là bắt buộc. Theo Google Play Console, khoảng 30% ứng dụng bị từ chối là do Export Compliance không chính xác.
Kiểm soát xuất khẩu bảo vệ an ninh quốc gia bằng cách hạn chế sự lan rộng của công nghệ mật mã. Hoa Kỳ yêu cầu báo cáo về các sản phẩm có mã hóa để ngăn chặn việc sử dụng chúng cho mục đích bất hợp pháp. Đối với nhà phát triển, việc không tuân thủ dẫn đến chặn ứng dụng, phạt tiền lên tới 1 triệu đô la và cấm xuất bản. Apple và Google đóng vai trò là đại lý kiểm soát — họ sẽ không cho phép bản build vượt qua nếu không có khai báo chính xác.
Vi phạm Export Compliance có thể dẫn đến việc ứng dụng bị xóa khỏi cửa hàng và nhà phát triển bị đưa vào danh sách đen. BIS có thể áp dụng các biện pháp trừng phạt hành chính, bao gồm phạt tiền lớn. Năm 2024, BIS đã phạt ba công ty hơn 2 triệu đô la vì xuất bản phần mềm có mã hóa không được chứng nhận. Đối với nhà phát triển độc lập, rủi ro chính là bị từ chối bản build và mất thời gian xuất bản lại.
Apple và Google đóng vai trò trung gian giữa nhà phát triển và cơ quan quản lý. App Store Connect và Google Play Console bao gồm các biểu mẫu Export Compliance bắt buộc trong quá trình tải lên. Nếu không hoàn thành bước này, nút gửi để đánh giá sẽ bị chặn. Các cửa hàng không xác minh tính chính xác của dữ liệu — chỉ kiểm tra sự hiện diện của nó. Trách nhiệm về tính chính xác thuộc về nhà phát triển.
Phân loại mã hóa bắt đầu bằng việc trả lời câu hỏi: ứng dụng có sử dụng mật mã riêng không? Nếu ứng dụng chỉ dựa vào API hệ điều hành tiêu chuẩn (CommonCrypto trên iOS, javax.crypto trên Android), nó thuộc diện ngoại lệ và không yêu cầu khai báo. Nếu thư viện bên ngoài được thêm vào hoặc thuật toán tùy chỉnh được triển khai, cần phải xác định danh mục CCAT.
CCAT-1 — hàng hóa thị trường đại chúng có mật mã đáp ứng ngoại lệ 740.17 của EAR. Điều này bao gồm các ứng dụng có mã hóa AES-128/256, RSA-2048 sử dụng giao thức TLS/HTTPS tiêu chuẩn. CCAT-2 — sản phẩm có mật mã không tiêu chuẩn yêu cầu giấy phép cá nhân. Hầu hết các ứng dụng di động thuộc CCAT-1. Danh mục thị trường đại chúng là hình thức khai báo đơn giản nhất.
Một ứng dụng được coi là sản phẩm thị trường đại chúng nếu các chức năng mật mã của nó có sẵn cho nhiều đối tượng, không yêu cầu kiến thức đặc biệt để sử dụng và tuân thủ các tiêu chuẩn mở. Theo BIS Supplementary Information (2025), thị trường đại chúng bao gồm các ứng dụng có AES, RSA, ECC và triển khai TLS 1.2/1.3. Nếu ứng dụng sử dụng thuật toán không tiêu chuẩn với độ dài khóa nhỏ hơn 56 bit, nó sẽ bị loại khỏi danh mục này.
Quy trình Export Compliance trong App Store bắt đầu tại App Store Connect khi tải lên bản build mới. Hệ thống đặt một loạt câu hỏi: ứng dụng có sử dụng mã hóa không, có phải thị trường đại chúng không, ERN đã được đăng ký chưa? Nhà phát triển trả lời và dựa trên câu trả lời, trạng thái xuất khẩu được tạo ra. Nếu mắc lỗi, có thể thay đổi trạng thái — Apple không phạt các chỉnh sửa, nhưng bắt buộc phải tải lại bản build.
ERN (Encryption Registration Number) là số đăng ký hàng năm với BIS xác nhận rằng sản phẩm đã được thông báo và phân loại. Đăng ký ERN miễn phí và có hiệu lực trong một năm. Biểu mẫu nộp là SNAP-R trên trang web BIS. Sau khi nhận được ERN, nhà phát triển nhập số vào App Store Connect và được miễn các câu hỏi lặp lại trong các lần tải lên tiếp theo trong năm. Theo thống kê của Apple, 60% nhà phát triển sử dụng ERN để đơn giản hóa quy trình.
Nếu không có ERN, nhà phát triển thực hiện tự phân loại qua giao diện App Store Connect. Apple sử dụng thuật toán dựa trên câu trả lời để gán danh mục. Nếu lựa chọn không chính xác, hệ thống khuyên nên lấy ERN. Tự phân loại phù hợp cho các ứng dụng đơn giản với mã hóa tiêu chuẩn. Đối với sản phẩm có mật mã không tiêu chuẩn, Apple khuyên nên đăng ký ERN để tránh sai sót.
Google Play thực hiện kiểm tra Export Compliance qua biểu mẫu trong bảng điều khiển nhà phát triển. Khi tạo bản phát hành mới, hệ thống yêu cầu thông tin về mật mã. Google sử dụng cùng danh mục EAR như Apple, nhưng quy trình được gọi là Export Compliance Review. Câu trả lời được ghi lại và áp dụng cho tất cả các bản build trong tương lai. Google không yêu cầu ERN đối với hầu hết ứng dụng — chỉ cần tuyên bố thuộc thị trường đại chúng là đủ.
Trong Google Play Console, phần Export Compliance nằm trong cài đặt Nội dung ứng dụng. Nhà phát triển trả lời ba câu hỏi: ứng dụng có chứa mật mã không, có dành cho thị trường đại chúng không và có đáp ứng ngoại lệ 740.17 không? Google không xác minh tính chính xác của câu trả lời cho đến khi có khiếu nại. Tuy nhiên, BIS có thể yêu cầu tài liệu và nhà phát triển phải cung cấp lý do giải thích cho việc phân loại.
Sự khác biệt chính — Apple yêu cầu ERN cho các trường hợp phức tạp, Google dựa vào tự khai báo. App Store yêu cầu Export Compliance cho mỗi bản build mới, Google Play một lần cho mỗi ứng dụng. Apple kiểm tra câu trả lời nghiêm ngặt hơn và có thể từ chối bản build, Google chỉ ghi lại dữ liệu. Cả hai cửa hàng đều tuân theo cùng một khung quy định EAR, nhưng quy trình triển khai khác nhau. Nhà phát triển chỉ cần hiểu phân loại một lần để xuất bản trên cả hai nền tảng.
Các lỗi Export Compliance được chia thành ba loại: phân loại mã hóa không chính xác, bỏ qua trường bắt buộc và ERN không chính xác. Phổ biến nhất — nhà phát triển khai báo rằng không sử dụng mã hóa, mặc dù ứng dụng gọi các phương thức CommonCrypto hoặc javax.crypto. Phổ biến thứ hai — chọn sai danh mục CCAT, khi ứng dụng có TLS 1.3 được đánh dấu là mật mã không tiêu chuẩn. Thứ ba — nhập ERN không hợp lệ không vượt qua được xác minh cơ sở dữ liệu BIS.
Khuyến nghị lập danh sách tất cả các chức năng mật mã của ứng dụng trước khi điền biểu mẫu. Kiểm tra thư viện nào được nhập và API mã hóa nào được gọi. Đối với iOS — kiểm tra sự hiện diện của CommonCrypto, Security.framework, OpenSSL. Đối với Android — javax.crypto, android.security, Conscrypt. Nếu ứng dụng chỉ sử dụng HTTPS qua các yêu cầu mạng tiêu chuẩn, nó được miễn khai báo. Nếu có chút nghi ngờ, hãy chọn tùy chọn khai báo.
Kiểm toán Export Compliance thường xuyên giúp tránh các biện pháp trừng phạt khi cập nhật ứng dụng. Nếu mã hóa được thêm vào trong phiên bản mới, cần phải điền lại khai báo. Apple và Google thông báo cho nhà phát triển nếu danh mục ứng dụng thay đổi. Khuyến nghị kiểm tra hiệu lực của ERN mỗi năm một lần và gia hạn nếu cần. Đối với các dự án lớn với hàng chục ứng dụng, tự động hóa kiểm toán qua CI/CD giúp giảm rủi ro lỗi con người.
Các câu hỏi thường gặp
Không, nếu HTTPS được triển khai qua API hệ điều hành tích hợp (URLSession trên iOS, HttpURLConnection trên Android) mà không thêm chứng chỉ tùy chỉnh hoặc thuật toán mật mã tùy chỉnh, thì không yêu cầu khai báo. Ngoại lệ là sử dụng OpenSSL hoặc các thư viện TLS bên thứ ba khác.
ERN (Encryption Registration Number) là mã định danh đăng ký hàng năm với BIS. Có thể lấy miễn phí qua hệ thống SNAP-R trên trang web bis.gov bằng cách điền biểu mẫu thông báo phân loại. Số có hiệu lực trong 1 năm và bao gồm tất cả các phiên bản của ứng dụng.
Có, Apple có thể từ chối bản build nếu câu trả lời Export Compliance mâu thuẫn hoặc không khớp với chức năng của ứng dụng. Trong trường hợp này, nhà phát triển nhận được thông báo từ App Store Review nêu rõ lý do và có thể tải lại bản build với dữ liệu đã chỉnh sửa.
Khung quy định EAR giống nhau, nhưng quy trình khác: Apple kiểm tra từng bản build, Google kiểm tra một lần cho mỗi ứng dụng. Apple yêu cầu ERN cho mật mã không tiêu chuẩn, Google chấp nhận tự khai báo. Cả hai cửa hàng đều tuân theo danh mục CCAT và quy tắc BIS.
App Store và Google Play chặn tải lên bản build nếu không có biểu mẫu Export Compliance hoàn chỉnh. Ứng dụng sẽ không vượt qua đánh giá và việc xuất bản sẽ không thể thực hiện được. Đối với ứng dụng đã xuất bản, thay đổi trạng thái xuất khẩu yêu cầu bản build mới và đánh giá lại.
Tổng kết
Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay
IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.
Đọc thêm