Control
Implementation
Status
Lens applies defense-in-depth controls to protect capture integrity, privacy, and operations. Start with the executive summary, then review the detailed control mappings.
Lens combines hardware-backed cryptography, strict data handling, and operational safeguards. The sections below map each control domain for security review.
Lens bases its security program on C2PA Security Considerations 2.0 and C2PA Harms Modelling 2.0. Together, these documents inform our architecture, threat model, and harm mitigation approach.
Primary References:
The controls, mitigations, and privacy protections on this page follow guidance from these C2PA specifications.
Lens follows a defense-in-depth model with multiple layers of protection.
| Control | Implementation | Status |
|---|---|---|
| Secure Enclave Integration | Hardware-backed P-256 keys, non-extractable | Active |
| Keychain Services | iOS Keychain for credential storage | Active |
| App Sandboxing | iOS App Sandbox isolation | Active |
| Code Signing | Apple Developer certificate validation | Active |
| Runtime Protection | ASLR, stack canaries, code signing | Active |
Control
Implementation
Status
Control
Implementation
Status
Control
Implementation
Status
Control
Implementation
Status
Control
Implementation
Status
| Control | Implementation | Status |
|---|---|---|
| Encryption at Rest | iOS Data Protection API (Class A) | Active |
| Encryption in Transit | TLS 1.3 for all network communications | Active |
| File System Encryption | iOS File Protection API | Active |
| Key Management | Secure Enclave hardware keys | Active |
| Certificate Pinning | Not implemented | Optional (planned) |
Control
Implementation
Status
Control
Implementation
Status
Control
Implementation
Status
Control
Implementation
Status
Control
Implementation
Status
| Control | Implementation | Status |
|---|---|---|
| TLS Configuration | TLS 1.3 minimum, perfect forward secrecy | Active |
| Certificate Validation | Full chain validation with OCSP | Active |
| Network Isolation | No direct internet access required | Active |
| Offline-First | Core functionality works offline | Active |
| Rate Limiting | Client-side (feedback); server-side depends on third-party APIs | Client-side only |
Control
Implementation
Status
Control
Implementation
Status
Control
Implementation
Status
Control
Implementation
Status
Control
Implementation
Status
| Control | Implementation | Status |
|---|---|---|
| Input Validation | All user inputs sanitized and validated | Active |
| Output Encoding | XSS prevention via output encoding & content sanitization | Active |
| SQL Injection Prevention | Parameterized queries (if applicable) | N/A |
| Memory Safety | Swift memory safety, ARC | Active |
| Dependency Management | Regular security updates, vulnerability scanning | Active |
Control
Implementation
Status
Control
Implementation
Status
Control
Implementation
Status
Control
Implementation
Status
Control
Implementation
Status
Lens applies privacy by design throughout the app.
Privacy Principles:
| Right | Implementation | Status |
|---|---|---|
| Right to Access | Export functionality for user data | Implemented |
| Right to Deletion | Delete all app data via settings | Implemented |
| Right to Portability | Export media files with metadata | Implemented |
| Right to Rectification | Edit metadata before export | Implemented |
| Right to Object | No in-app usage analytics or automatic diagnostics upload; optional support attachments only when you send them | Implemented |
| Right to Restriction | Pause data processing | Implemented |
Right
Implementation
Status
Right
Implementation
Status
Right
Implementation
Status
Right
Implementation
Status
Right
Implementation
Status
Right
Implementation
Status
Keys are generated in hardware in the Secure Enclave; password-based key derivation is not used.
| Aspect | Implementation | Standard |
|---|---|---|
| Key Generation | Secure Enclave hardware RNG | Platform (Apple); NIST SP 800-90A aligned per vendor documentation |
| Key Storage | Secure Enclave, non-extractable | Apple Secure Enclave (see Apple platform security) |
| Key Rotation | Per-device certificates, revocation support | Industry best practice |
| Key Backup | Device-only; no key export or iCloud backup | N/A |
Aspect
Implementation
Standard
Aspect
Implementation
Standard
Aspect
Implementation
Standard
Aspect
Implementation
Standard
| Use Case | Algorithm | Key Size | Status |
|---|---|---|---|
| C2PA Signing | ECDSA P-256 | 256-bit | Active |
| TLS | ECDHE + AES-256-GCM | 256-bit | Active |
| File Protection | AES-256 | 256-bit | Active |
Use Case
Algorithm
Key Size
Status
Use Case
Algorithm
Key Size
Status
Use Case
Algorithm
Key Size
Status
| Test Type | Frequency | Status |
|---|---|---|
| Static Analysis | Pre-commit, CI/CD | Active |
| Dependency Scanning | Weekly automated scans | Active |
| Penetration Testing | Annual third-party audits | Planned |
| Code Review | All changes reviewed | Active |
| Security Audits | Quarterly internal reviews | Active |
Test Type
Frequency
Status
Test Type
Frequency
Status
Test Type
Frequency
Status
Test Type
Frequency
Status
Test Type
Frequency
Status
| Threat | Mitigation | Status |
|---|---|---|
| M1: Improper Platform Usage | iOS HIG compliance, secure APIs | Mitigated |
| M2: Insecure Data Storage | iOS Data Protection, encryption | Mitigated |
| M3: Insecure Communication | TLS 1.3, certificate pinning | Mitigated |
| M4: Insecure Authentication | Secure Enclave, biometric auth | Mitigated |
| M5: Insufficient Cryptography | Industry-standard algorithms | Mitigated |
| M6: Insecure Authorization | App sandbox, permission model | Mitigated |
| M7: Client Code Quality | Swift memory safety, code review | Mitigated |
| M8: Code Tampering | Code signing, runtime checks | Mitigated |
| M9: Reverse Engineering | Code obfuscation (optional) | Partial |
| M10: Extraneous Functionality | Minimal dependencies, code audit | Mitigated |
Threat
Mitigation
Status
Threat
Mitigation
Status
Threat
Mitigation
Status
Threat
Mitigation
Status
Threat
Mitigation
Status
Threat
Mitigation
Status
Threat
Mitigation
Status
Threat
Mitigation
Status
Threat
Mitigation
Status
Threat
Mitigation
Status
Vulnerability Disclosure:
We commit to remediating Critical and High CVEs in our dependencies within 90 days. Our SCA, SBOM, policy, and runbook are documented in the Product Security Architecture and dependency vulnerability management runbook. We use GitHub Dependency Graph and Dependabot for visibility and alerts, and Trivy in CI for scanning and CycloneDX SBOM generation. For dependency CVE reports or questions: lens@field-notes.dev.
| Certification | Status | Notes |
|---|---|---|
| ISO 27001 | Not Certified | Aligned with controls |
| SOC 2 Type II | Not Certified | Planned for future |
| GDPR | Compliant | Self-assessment |
| CCPA | Compliant | Self-assessment |
| HIPAA | Not Applicable | Not a healthcare app |
Certification
Status
Notes
Certification
Status
Notes
Certification
Status
Notes
Certification
Status
Notes
Certification
Status
Notes