Submit a photo of you with David. We verify it. You get the calendar. We delete the photo within 24 hours and keep only the math we need to remember you passed.
Each layer runs server-side. Some are cheap and run first to short-circuit obvious failures. Others are paid API calls that run in parallel where they can. The whole thing finishes in seconds.
This is the same synthesis function the live pipeline uses. Each layer has a weight. The final verdict is a weighted-average confidence, with hard-fail gates that override everything. Face detection and face match are required for a pass — if either is skipped, the verdict caps at flagged.
Weighted across active layers. Hard fails short-circuit.
Trust in 2026 is not a checkbox. It is a cryptographically and physically attested claim that two people have actually met. Here is what we expect the adversary to try.
| Threat | Defense |
|---|---|
| AI-generated selfie (GPT image gen, Sora, Midjourney) | EXIF software blocklist (hard fail). Hive generated-image detector (hard fail above 0.5). C2PA verification (Phase 2). |
| Deepfake face swap onto stock photo | Hive detector. Geo cross-reference against operator location log (Phase 2). |
| Photoshop composite of real David face | EXIF software field flagged. Hive detector catches blending artifacts. |
| Replay of someone else's valid photo | SHA-256 dedup across all prior passed attempts. pHash near-match soft flag. |
| EXIF-stripped real photo | Reduces score; requires stronger Hive and face-match signals to still pass. |
| Old photo from a real meeting | Timestamp soft limit at 24 months. Manual review path via /admin/attempts. |
| Photo of a photo on a screen | Hive usually catches moiré patterns and lighting inconsistencies. |
Photo bytes live in blob storage for at most 24 hours. A scheduled cron deletes anything older. The pipeline only needs the bytes long enough to compute layer scores.
What we persist forever as audit: the SHA-256 hash, the perceptual hash, an EXIF extract (camera, time, place), the layer scores, the verdict, and a 200×200 face thumbnail for human review.
What we never store: the raw photo past 24 hours, the magic-link token (only the SHA-256 hash of it), or the JWT.
Each attested user can /me at any time to see their state and export or delete every row tied to their email.
| Field | Public | Attested | Inner Circle |
|---|---|---|---|
| Event title and date | yes | yes | yes |
| Description | first 200 chars | full | full |
| End time | — | yes | yes |
| Venue name | — | yes | yes |
| Venue address | — | within 24h of start | yes |
| GPS coordinates | — | — | yes |
| David's expected arrival | — | — | yes |
| Attendee list | — | count only | names |
May 18, 2026. David Phung and Robin Kim, on the substrate problem.
starting to put together where friends like you all here can see my calendar for curated events so you can find me irl. thinking the security and encryption necessary. i like the moment that if my friend and i share location, you can see the city name. more touch points to meet irl. to convert from url to irl what's the substrate, forcing functions and programming is an anchor for that.
ooo that would be sweet. like a private luma playlist. you could make something password gated too.
i like the private playlist framing. i would make it like a secret language, phrase (word, audio, sentence) etc. one password is submitting your photo with me. if you don't have it no proof no contact. this is the verification angle.
that's sickkkk. make sure gpt image gen 2 can't bypass this.
will need to verify metadata and location with my database. attestation is key.
| Framework | Next.js 16, React 19, TypeScript strict, Tailwind 4 |
| Database | Postgres on Neon, Drizzle ORM |
| Auth | Magic link via Resend, jose JWT in HttpOnly cookie |
| Photo storage | Vercel Blob, 24h retention |
| AI detection | Hive Moderation |
| Face engine | AWS Rekognition (private collection of operator references) |
| Rate limiting | Upstash Redis sliding window |
| Hosting | Vercel |
If you have met David in person, attest. If you have not, the calendar funnels you toward a public event where attestation can be bootstrapped in person via a single-use QR.