Skip to content

Latest commit

 

History

213 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Family Archive

Tests Lint Release

Family Archive is a privacy-first, preservation-grade family history platform. It protects immutable originals, creates traceable viewing and restoration derivatives, and gives approved family members a simpler way to contribute, review and discover shared history.

Live product: familyarchive.bayforgesystems.com

Composite photo detection

Release state

  • Current release: v4.2.0 — Batch Content Safeguards
  • Official evidence: 37 approved and closed screenshot groups
  • Media supported by the completed workflow: photos
  • Production services: Laravel Cloud, MySQL, Wasabi object storage and Google Maps
  • Migration qualification: a synthetic 30,000-entry run proved checkpoints, interruption recovery, isolated failures, idempotent replay and reconciliation
  • Real family migration: deliberately separate and not represented by public evidence
  • Composite scans: automatic border and borderless layout suggestions plus a free-form, original-first manual split editor, proven by approved Group 34 evidence
  • Split-photo rendering: padded child extraction, independent rotation/deskew and final cropping in that order, with manual 90-degree overrides in Group 36
  • Private source exclusions: pre-discovery subtree pruning and fail-closed resume continuity, proven by approved Group 35 evidence
  • Batch content safeguards: identification-document and sensitive-minor holds are enabled by default, owner-configurable per batch and enforced by single and bulk decisions; suspected illegal or exploitative material remains permanently blocked

The v4.2.0 Batch Content Safeguards release is approved and closed by Screenshot Group 37 evidence.

What the product demonstrates

  • Immutable, checksum-verified originals with no-overwrite storage boundaries
  • Quarantine, duplicate review, human acceptance and append-only audit history
  • Automatic and manual restoration from the verified original, with versioned lineage
  • Multi-photo scan detection and reversible separation into independently reviewed photos
  • Clipping-safe child rendering that rotates or deskews before calculating the final crop
  • Resumable batch intake designed for tens of thousands of photos
  • Strict source-subtree exclusions whose names and contents never enter discovery
  • Manual, per-batch safety classification with fail-closed approval enforcement
  • Delegated family roles, guided non-email access and owner-controlled exceptions
  • Albums, permission-aware search and privacy-reviewed interactive maps
  • Embedded family messaging with participant-controlled mute, archive and block
  • Live production health, restrictive browser headers and private Wasabi storage

The complete feature inventory is in Capabilities. The architecture and preservation rules are described in the System Overview.

Preservation contract

Accepted originals are never overwritten, silently replaced or automatically deleted. Quarantine objects, originals and derivatives have separate identities. Every viewing or restoration derivative records its source lineage. Automated processing produces suggestions; people make consequential archive decisions.

Architecture at a glance

flowchart LR
    A["Approved family members"] --> B["Laravel application"]
    B --> C["MySQL metadata and audit history"]
    B --> D["Queue workers"]
    D --> E["Private Wasabi prefixes"]
    E --> F["Quarantine"]
    F --> G["Human review"]
    G --> H["Immutable original"]
    H --> I["Versioned derivatives"]
    B --> J["Permission-aware archive, albums and maps"]
Loading

The detailed trust boundaries, storage prefixes and processing rules are in the System Overview.

Privacy and evidence

The repository, tests and public screenshot evidence use synthetic people, places and media. Real family photos, names, storage identifiers, credentials and local source paths are excluded. The release verifier checks those boundaries and validates the official PNG evidence packs.

See Security, Threat Model and Evidence Guide.

The source is publicly viewable for portfolio and evaluation purposes, but it is not open source. See Rights and Licensing.

Technology

  • PHP 8.3+ and Laravel 13
  • Livewire 4, Flux, Tailwind CSS and Vite
  • MySQL in hosted production
  • Pest, Larastan and Laravel Pint
  • Wasabi S3-compatible private object storage
  • Google Maps for privacy-reviewed public locations

Run locally

Install and initialize the project:

composer setup

Run the local application services:

composer dev

Run the full engineering and release gate:

composer test
composer release:verify

The portfolio dataset is synthetic. Configure a unique PORTFOLIO_DEMO_PASSWORD, then seed a fresh local database:

php artisan db:seed --class=PortfolioDemoSeeder

PORTFOLIO_DEMO_MODE=true makes authenticated demonstration writes fail closed. Never reuse demonstration credentials or data in production.

Documentation

Created and developed by Codie Shannon under BayForge Systems.

About

Privacy-first, preservation-grade family history platform with immutable originals, reviewed metadata, controlled family access and verified object storage.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages