Inspiration
Students already keep thoughtful notes before important conversations: where they met someone, what they discussed, what they promised, and what should happen next. Those memories are useful inside a private notebook, but an AI meeting assistant starts from zero.
Today the assistant either stays unhelpfully cold or receives broad access to email, contacts, and notes. Context Pass asks a narrower question: what if it could request the few useful facts for one meeting instead of browsing a person's whole life?
What it does
Context Pass lets a named AI assistant request the smallest useful set of relationship facts for one purpose and one short time window.
- Meeting Copilot requests relationship summary, open commitments, and meeting goals.
- The student sees the exact value of every field before deciding. Empty values stay disabled, and a private reflection is policy-blocked.
- AI Passport freezes only the selected values into a pass bound to the recipient, person, purpose, scope, and expiry.
- The copilot creates a useful briefing only after the policy allows a read, and the read creates a receipt automatically.
- An out-of-scope private-note attempt is denied and recorded without any values.
- After the meeting, the copilot proposes new memory. It cannot overwrite the relationship record; a person must select and confirm any append-only write-back.
- The student can revoke the pass. Later attempts are denied while earlier receipts remain visible.
The finished local-first workspace also supports empty-state onboarding, create/edit/delete flows for people and meetings, request dismissal, pass and activity filters, validated persistence, recovery, clear, and reset.
How AI Passport is used
AI Passport is the permission and portability layer between Context and the meeting copilot. It carries:
- Context: user-confirmed relationship summary, commitments, and meeting goals
- Permission: which named app may read which exact fields and for what purpose
- Access: a short-lived grant that can be revoked before expiry
- Proof: receipts for allowed reads and reason-only denials for rejected reads
- Write-back rule: assistant suggestions require human review before becoming sourced history
Without AI Passport, this is another meeting-notes feature. With it, the same user-owned context can serve calendars, meeting assistants, academic advising tools, or workplace copilots without copying an entire private workspace into each one.
Privacy, risk, and user control
Privacy is a data-flow property in Context Pass, not a settings-page promise.
- Passes contain only explicitly selected fields.
- Private notes are structurally unshareable in the policy layer.
- Recipient, person, purpose, scope, duration, and write-back rule are visible before approval.
- Wrong-recipient, wrong-person, wrong-purpose, expired, revoked, empty, and out-of-scope reads are denied.
- Every successful read creates a receipt; every rejected read creates a reason-only event with no disclosed values.
- Approved assistant suggestions append provenance-labeled history instead of overwriting structured context.
Main risks include data about other people, stale or incorrect memories, sensitive-trait inference, and the fact that revocation cannot make a recipient forget a prior read. The first version minimizes those risks with deliberate user-authored fields, no scraped profiles, exact-value previews, short expiry, future-access denial, receipts, and review-required memory. Production use would also need verified app identity, signed pass manifests, secure transport, enforcement contracts, and clear deletion semantics.
How it was built
Context Pass is a TypeScript and React Native / Expo product. Strict shared Zod contracts validate the consent ledger. A pure permission module makes deterministic issuance and access decisions. A separately versioned Zustand/AsyncStorage workspace serializes mutations and persists relationships, meetings, requests, immutable pass snapshots, receipts, denials, write-back drafts, and confirmed timeline history.
The public React 19 Sites experience is not a static marketing page: it provides a five-stage interactive consent simulation that a judge can complete without signing in.
The verified repository passes 295 product assertions, 9 Node service checks, strict TypeScript across both workspaces, and a production Expo web export. The Sites build and server-render metadata tests pass as well.
The deterministic Meeting Copilot is intentional. The demo does not claim a production Egoist API or runtime language-model integration; this keeps every privacy decision inspectable.
Existing foundation and new work
The offline-first Context relationship-memory application predates this ideathon. New for the AI Passport Ideathon are the complete passport workspace, exact-value request review, immutable approval snapshots, recipient/person/purpose/scope/time-bound access, receipts, reason-only denials, manual revocation, denied retries, review-controlled append-only history, recovery behavior, policy/store tests, and the public judge experience.
This reuse is disclosed because the ideathon contribution is the AI Passport application and its new control model, not a claim that the entire foundation was built during the event.
What we learned
The most valuable AI memory is not the largest profile. It is the smallest trustworthy slice that fits the current purpose.
AI Passport makes that slice portable without making consent invisible. A request can remain a question, access can be temporary, and a receipt can turn an abstract privacy promise into something a person can inspect.
What's next
The first production pilot would connect Context, one calendar provider, and one meeting assistant. It would add verified app identity, signed pass manifests, encrypted transport, deletion acknowledgements, and usability testing with students who use memory or attention supports.
Try it
Public interactive demo: https://context-pass-ai.fink692.chatgpt.site
Built With
- ai-passport
- expo.io
- react
- react-native
- typescript
- vitest
- zod
- zustand
Log in or sign up for Devpost to join the conversation.