C2PA UX v2.2 Compliance

Lens implements the C2PA UX v2.2 recommendations as a capture-only iOS camera app. This page provides auditors, security teams, and partners with a transparent view of how Lens aligns with the C2PA UX v2.2 guidance.

30/31 Implemented1 optional not implemented (2.8)

Context

Lens is a camera-only iOS app that captures photos and videos from the device camera. Because the C2PA UX v2.2 specification targets a broad range of implementers (editing tools, publishing platforms, streaming video players, forensic tools), not all recommendations are applicable to a capture-only camera app.

Captures photos and videos from the device camera
Uses a single manifest per capture (no ingredient graphs)
Stores signed masters as embedded manifests in Files
Does not provide editing/compositing tools
Does not function as a social media or publishing platform
Plays back monolithic video files (no HLS/DASH streaming)

This matrix clarifies which requirements are:

  • Applicable and implemented
  • Not Applicable (N/A) for a camera app
  • Optional for future expansion

Summary

Total C2PA UX v2.2 requirements reviewed
42
Applicable to Lens camera app
30Implemented (30/31). Section 2.8 (Continuous Feedback) removed per product decision; optional in C2PA UX v2.2.
Not Applicable to camera app
11Marked N/A with rationale

Lens implements 30 of 31 applicable C2PA UX v2.2 requirements; Section 2.8 (Continuous Feedback) is optional and was removed per product decision.

Not-Applicable Requirements (Scoped Out for Camera App)

These items are part of the C2PA UX v2.2 spec but do not apply to Lens given its scope.

RequirementSectionApplicabilityRemark
L4 Forensic View3.1.4N/AL4 forensic inspection is handled by external verifier tools (e.g., desktop C2PA viewers), not by the capture app.
Regions of Interest3.3.3N/ALens does not provide region-based editing; there are no "edited regions" to visualize.
Redactions & Updates3.5.2N/ALens does not support manifest redaction workflows; it only captures and signs content.
Remote Storage UX3.6.2N/ALens uses embedded manifests in local files; no remote manifest storage is exposed to the user.
Watermarks / Fingerprinting3.7N/ALens embeds manifests directly; recovery via watermarks/fingerprints is not required for its capture workflow.
Ingredient Validation3.8.4N/ALens does not composite multiple assets; there are no ingredient manifests to validate.
Video Streaming UX (delivery, loading, segment validation)3.9.1–3.9.3N/ALens records and plays monolithic video files; there is no streaming player or segment-level validation UI.
L1 Source Disclosures4.3N/AAs a camera app, all captures originate from the device camera. Source is disclosed at L2; L1 labeling is redundant.
Identity Assertions (CAWG)3.4.3OptionalHuman/organizational identities are not required for basic camera provenance; may be added for future professional workflows.
Localization3.2.2OptionalCurrent app is English-only; localization is a cross-cutting product decision, not specific to C2PA.
Remote Storage-Specific Output Options3.8.5 (remote branch)N/ARemote manifest storage is not implemented, so related options are intentionally omitted.

Applicable Requirements (Implemented)

All of the following are applicable to a camera app and are implemented in Lens.

Principles

RequirementSectionStatusNotes
Designing for trust2.1PassTransparent trust signals, clear warnings, no "magic" validation states.
Quality2.2PassNative SwiftUI, premium transitions, performance-aware.
Consistency2.3PassC2PA UI follows Lens design system and iOS HIG (see HUD/HIG docs).
Accessibility2.4PassVoiceOver labels, hints, section grouping across L1/L2/L3.
Screen Adaptability2.5PassMobile-first layout, touch targets, safe areas respected.
Progressive Disclosure2.6PassL1 → L2 → L3 flow implemented.
Education & Communication2.7PassOnboarding + C2PAHelpView in L2/L3.
Continuous Feedback2.8Not implementedRemoved (2026-01-26) — optional per C2PA UX v2.2; product decision to simplify UI.

Patterns & Components (Camera-Applicable Subset)

RequirementSectionStatusNotes
L1 Indicator3.1.1, 4.2PassC2PAIndicatorPill in camera HUD.
L2 Summary3.1.2, 4.4PassC2PAStatusSheetContent sheet.
L3 Detailed View3.1.3, 4.4PassC2PAManifestDetailView full manifest view.
Language / Terminology3.2Pass"Content Credentials" everywhere user-facing.
Branding3.2.1PassCorrect use of Content Credentials branding.
Actions Display3.3.1PassActions recorded + shown in L2/L3 (Created, Captured, Converted).
Source Disclosures3.3.2Passcamera_captured source shown in L2.
Created vs Gathered3.4.1PassSystem/User badges in L3.
Custom Assertions3.4.2PassDevice metadata and Lens-specific assertions in L3.
Offline Signing3.5.1PassFail-open, TSA awareness, warnings.
Storage (Embedded)3.6.1PassEmbedded manifests in master copies (Files app).
Creator Experience (3.8.1–3.8.5)3.8PassOnboarding, preview, settings, save preview, info views.
Content Credentials Icon4.1PassOfficial icon asset, unmodified.
Validation States & Warnings4.5.1–4.5.4PassAll validation states surfaced with clear messaging.

How to Interpret Scores in the Main Audit

In the main C2PA UX compliance audit:

  • "Applicable" score (30/31) counts only the requirements that make sense for a capture-only camera app; Section 2.8 (Continuous Feedback) is optional and was removed.
  • The spec-level denominator (42) is retained to show that some recommendations are intentionally scoped out, not forgotten.
  • Each Not-Applicable item above has a documented rationale, so auditors can see why it was excluded.