
“A permission is a path through a graph, not a chain of joins.”
A meetings platform with permissions as a graph
What remains of a meeting is a record, not just a call: who attended, what was said, which documents were in play and who was allowed to see them. A white-label platform for healthcare and finance — the product was sold.
A white-label meetings platform for healthcare and finance, under HIPAA. What remains of a meeting is not just a call but a record: who attended, what was said, which documents were in play and who was allowed to see them.
Permissions are modeled as a graph in Neo4j, not as a chain of joins. The question "may this person see this document" is answered immediately, however many relationships stand between them — and the document is not subordinate to the meeting: it can belong to several meetings and carry its own version history.
A file can be attached while the meeting is running and immediately gets the right permissions for everyone present. A patient joins as a guest, without opening an account, which is what HIPAA asks for. Transcription runs in real time, so the record is finished when the meeting is. The product was sold.
The problem
The constraint
What we did
Permissions as a graph — our architectural decision
People, meetings, files and signatures are nodes; read, write, download and delete are edges. An access question is a path through the graph, answered in one traversal.
4 permission types per documentA document stands alone, not under a meeting
Versioning and membership in multiple meetings; attachable while a meeting runs, with correct permissions for everyone present. DocuSign signing; HIPAA guest access with no account.
Guests join without an accountThe record is done when the meeting is
Real-time transcription through AWS Transcribe with speaker separation — the transcript feeds the next meeting’s agenda. Recording and post-processing were our part.
Real-time transcription
A meeting carries participants, recordings, transcripts and documents — and each artifact has its own audience. Guest access for patients: attend a consultation without creating an account (HIPAA).
The result
When an access right cannot be checked at the moment it matters, a meeting stops being evidence and becomes a liability. In healthcare and finance, a record that cannot be attributed to a named person is worth nothing — however many recordings were kept.
What we’d do differently
We would write down the boundary at the media layer. Video ran on an existing server, while recording and post-processing were our part — that line was clear in practice but documented nowhere.
We would test permissions at graph depth from the start. A graph answers the question elegantly at five relationships; only at fifteen do you learn whether the model is good or merely fast.
- Neo4j
- WebRTC
- AWS Transcribe
- AWS
- DocuSign
- Realtime