Granular, per-use consent — an active family decision, not one-time paperwork
The consent substrate encodes every family’s decision at the data layer, per student, per use case. A parent grants or withholds consent for each category independently: roster display, print orders, digital downloads, and yearbook inclusion. Each consent decision is time-stamped and stored in an audit log the family can review. A photo without consent for a given use is locked — not tagged with a warning note, but structurally inaccessible for that use at the engine level. Consent can be changed or revoked at any time; revocation propagates immediately across every applicable use case, and the photo becomes inaccessible for any revoked category without additional manual steps. The consent substrate and two-layer consent architecture (depiction consent plus per-use granular consent) are built and production-ready. The family-facing per-use consent dashboard and live audit log are in active development as a UI surface.
Consent substrate built · family consent dashboard in development
Team shoot workflow — scheduling, shot lists, retake management, QR roster matching
The team shoot workflow runs from booking to proof upload in one connected engine. An athletic director or coach books a shoot date, uploads the team roster, and the platform generates the shot list — individual portrait slots and team group configurations, sequenced to minimise on-site time. On shoot day, each student is matched to the roster record by QR code or barcode scan at the line, so every proof is linked to the correct student record before the photographer leaves the field. Retakes are managed in the same workflow: an absent student or a parent-requested retake is scheduled as a follow-on slot, assigned to the same roster record, and the original proof is superseded cleanly. Team composites — the full-roster group image laid out from the imported roster — automatically exclude any unconsented student (one whose depiction consent has not been granted), enforced at the layout engine. The scheduling engine, shot list generator, retake workflow, QR roster matching, and team composite layout are built and production-ready.
Team shoot workflow built · production-ready
Private per-student proof galleries — consent-gated, never public
Each student’s proofs are stored in a private gallery accessible only to the authenticated family for that student. A parent sees their child’s proofs and no other student’s. A proof is never served from a guessable URL, a shared team gallery that lists every student, or a public album; these galleries are never public — access is always mediated by the consent and authentication layer. If a student has an unconsented status for a given use, the gallery shows the proof to the parent alongside the consent state, and the proof is locked for any use the parent has not approved. Gallery access tokens are scoped to the authenticated family record and expire after the review window; the gallery does not remain open indefinitely. The private per-student gallery engine and consent-gated proof delivery are built and production-ready.
Private galleries built · production-ready
Print and digital fulfillment — transparent pricing, lab partner disclosed
The fulfillment pipeline delivers prints and digital downloads from approved proofs. Print orders are routed to a professional lab partner through the PhotoLabProvider seam; the fulfillment copy is used for printing and is not retained by the lab partner after the order ships. Photos are not sent to the lab until a family places an order — the photo travels only when the family authorises a purchase. Digital downloads are delivered directly from the platform’s own private infrastructure. Pricing is transparent per item; the total is visible before checkout with no hidden fees or package upsells. The fulfillment pipeline — order routing, lab handoff, and digital delivery — is built and production-ready. The ordering interface that accepts payment from families is honest-off: present in the platform, not enabled for live transactions today.
Fulfillment pipeline built · ordering checkout honest-off
Twelve-month retention, no face biometric template computed, family data rights in the architecture
Photos are removed from the platform’s private infrastructure twelve months after the end of the season unless the family chooses to archive before that date. This is encoded as a scheduled deletion in the data architecture — not a manual process dependent on someone remembering to act. Sixty days before the deadline, each family receives a reminder with the deletion date and a single-step archive option. No face biometric template is computed from a child’s photo in the shipping configuration. The consent and deletion machinery for face matching exists and is off by default per child; the matching capability behind it is not wired and cannot be switched on from this product. If a future feature uses face detection to help a family find photos of their child, that function will be family-initiated, logged, temporary, and deletable, and it will be off by default. Photos are never used to train AI models. Photos are stored on the platform’s own private infrastructure, encrypted in transit, and never sold or shared with outside companies for profit. A family can request deletion of their child’s data at any time; deletion on request is executed and acknowledged. These guarantees are part of the onboarding agreement for every school, not a footnote.
Retention policy in architecture · no face biometric template computed; consent machinery off by default per child