Skip to content

Latest commit

 

History

History
62 lines (46 loc) · 2.7 KB

File metadata and controls

62 lines (46 loc) · 2.7 KB

High-Level Technical Design Document

Overview

The forum is a self hostable, modular and secure backend and frontend application that supports authenticated anomymous interactions.
It implements fine-grained access control using a policy-based system.

Key Features

  • Authentication (Authn): "you are a user that meets some requirements" (owns a particular email address, or pass another kind of verification)
  • Authorization (Authz): "Based on your authentication, you are allowed to do something" (can create a post, can join a group, can delete a post)
  • Modular verification layer (JWT, ZKP, Verifiable Credential...).
  • Policy-based access control.
  • Groups management
  • LateX and Markdown support

Functional Requirements

  • User authentication and session management (JWT).
  • Authorization middleware for role-based and group-based access control.
  • Support for unauthenticated, authenticated, and anonymous-authenticated interactions.
  • Cryptographic verification layer for JWTs, ZKPs, and VCs.
  • CRUD operations for users, posts, comments, and groups.
  • Modular policy system to define access rules dynamically.
  • Efficient querying for related data (e.g., fetching posts within a group).
  • Users should be able to interact with the forum without compromising anonymity.
  • E.g ZKPs allows for actions without revealing the user's full identity.

Suggested/In Progress Implementation

Diagram

diagram

Technology Stack

DB

Postgres with heavy use of psql triggers (ex).

Backend

Frontend