ConsentOS — a privacy-first cookie consent management platform. Self-hosted, source-available alternative to OneTrust, Cookiebot, and CookieYes. Full standards coverage (IAB TCF v2.2, GPP v1, Google Consent Mode v2, GPC, Shopify Customer Privacy API), multi-tenant architecture with role-based access, configuration cascade (system → org → group → site → region), dark-pattern detection in the scanner, and a tamper-evident consent record audit trail. This is the initial public release. Prior development history is retained internally. See README.md for the feature list, architecture overview, and quick-start instructions. Licensed under the Elastic Licence 2.0 — self-host freely; do not resell as a managed service.
23 lines
744 B
Swift
23 lines
744 B
Swift
#if canImport(UIKit)
|
|
import UIKit
|
|
import ConsentOSCore
|
|
|
|
// MARK: - UIKit Banner Presentation (ConsentOSUI extension)
|
|
|
|
public extension ConsentOS {
|
|
/// Presents the consent banner modally on the given view controller.
|
|
///
|
|
/// This extension is provided by the ConsentOSUI module.
|
|
/// Ensure you import ConsentOSUI alongside ConsentOSCore to use this method.
|
|
///
|
|
/// - Parameter viewController: The presenting view controller.
|
|
@MainActor
|
|
func showBanner(on viewController: UIViewController) {
|
|
let modal = ConsentModalController()
|
|
modal.modalPresentationStyle = .overFullScreen
|
|
modal.modalTransitionStyle = .crossDissolve
|
|
viewController.present(modal, animated: true)
|
|
}
|
|
}
|
|
#endif
|