Dev Sandbox

Developer sandbox for experimental and pre-production projects, including the C2PA Content Credentials React Native bridge.

Overview

The dev_sandbox repository is a workspace for experimental and pre-production projects. It currently houses work on C2PA (Content Credentials) integration for React Native and geographic data conversion utilities.

GitHub: Phenom-earth/dev_sandbox

flowchart TD A([Guardian Project
Simple-C2PA Library]):::external --> B([dev_sandbox
react-native-simple-c2pa]):::sandbox B --> C([PhenomApp / Peregrine
Ext/react-native-simple-c2pa]):::app C --> D([Camera Capture]):::feature D --> E([C2PA Metadata
Embedded in Media]):::feature E --> F([Verified Content
Uploaded to Cloud]):::feature classDef external fill:#1a1a1a,stroke:#a5e3e8,color:#ffffff,rx:30 classDef sandbox fill:#151515,stroke:#d73429,color:#ffffff,rx:30 classDef app fill:#121010,stroke:#a5e3e8,color:#a5e3e8,rx:30 classDef feature fill:#d73429,stroke:#ffffff,color:#ffffff,rx:30

react-native-simple-c2pa

The primary module — a native bridge wrapper for the Guardian Project’s Simple-C2PA library that exposes C2PA Content Credentials functionality to React Native apps.

Purpose

Enables embedding provenance metadata (content credentials) into images captured by the Phenom App, ensuring content authenticity and preventing deepfakes and manipulation claims.

Technology Stack

  • TypeScript/JavaScript (React Native bridge)
  • Swift (iOS native bridge via XCFramework)
  • Kotlin (Android native bridge via Gradle)
  • Guardian Project Simple-C2PA library

Key Features

  • iOS XCFramework auto-build during pod install
  • Android Gradle composite build support
  • Minimal JS API: embedManifest(inputPath, outputPath, options)
  • Email and usage rights configuration
  • Auto-linking support for React Native

Integration with PhenomApp

This module is consumed by the PhenomApp (Peregrine) repository as a custom native module at /Ext/react-native-simple-c2pa/. It provides the C2PA content authentication capability referenced in the Peregrine architecture docs.

c2pa_sample_rn_app

A complete Expo demo application demonstrating the react-native-simple-c2pa module. Built with Expo Prebuild and a Custom Dev Client with tab-based navigation.

geonames_conversion

A utility for converting GeoNames geographic database (geonames.org) to SQL format. Supports PostgreSQL and other database targets.

Repository Structure

dev_sandbox/
├── react-native-simple-c2pa/    # C2PA React Native bridge
│   ├── ios/                     # Swift native bridge
│   ├── android/                 # Kotlin native bridge
│   └── src/                     # TypeScript API
├── c2pa_sample_rn_app/          # Expo demo application
├── geonames_conversion/         # GeoNames to SQL converter
└── simple-c2pa/                 # Git submodule (Guardian Project)

Development Status

  • Pre-release versions (0.0.3 for package, 0.0.1 for iOS podspec)
  • Single main branch, linear development model
  • Apache 2.0 and MIT licensed
  • Functional but experimental