Product architecture
How Kinfolio works
A small set of clear flows: the archivist curates, family contributes, and an approval engine decides what becomes part of the permanent record.
Core contribution flow
Step 1
Upload
Archivist adds a photo or document.
Step 2
Browse
Family member sees one asset at a time.
Step 3
Identify
Tag people, write a memory, or skip.
Step 4
Review
Submission enters the approval queue.
Step 5
Publish
Approved entries join the asset's history.
Approval engine
Submission
Asseta-1 Family portrait
ContributorMargaret Hollis
PeopleCousin Edith
NoteSanitized text…
Rules
- Input is sanitized (no HTML/script)
- Contributor account is active
- Asset exists & is not removed
- Archivist must approve before publication
Approve
People are merged into the asset's canonical tags. The note appears in the public history.
Reject
Submission is archived for audit but never appears in public views or search.
Roles & permissions
Admin (Archivist)
- Upload, edit, delete assets
- Approve / reject contributions
- Invite & deactivate members
- View activity log
Family Contributor
- Browse one asset at a time
- Identify people and add memories
- Search approved content
- Request a copy of any asset
Search engine
Type
Photographs · Correspondence · Genealogy
Date or decade
Includes approximate dates ("1940s")
Person
Any approved tagged name
Search operates only on approved content. Pending contributions are invisible until the archivist publishes them.
Security model
Access
Invite-only — no public sign-up
Accounts deactivated instantly
Data integrity
Contributor input sanitized
Originals never modified
Privacy
No public asset URLs exposed
Copies fulfilled manually by archivist