Skip to content

Design Decisions

Notivae’s architecture and feature set are driven by clear design principles focused on user control, privacy, collaboration, and extensibility. This page outlines the key decisions behind the project’s foundation.

1. Self-Hosted First

  • Users retain full control over their data by running Notivae on their own infrastructure.
  • No reliance on third-party services or proprietary cloud platforms.
  • Ensures privacy, security, and compliance with personal or organizational policies.

2. Markdown-Native

  • Markdown is the universal format for writing and note-taking.
  • Enables compatibility with many tools and simple import/export workflows.
  • Avoids vendor lock-in by storing plain-text documents with semantic structure.

3. Real-Time Collaboration with CRDTs

  • Uses Conflict-Free Replicated Data Types (CRDTs) to enable seamless multi-user editing.
  • Guarantees zero merge conflicts and automatic offline sync.
  • Yjs is chosen as the CRDT library for its performance and community support.

4. Offline-First Approach

  • Users can read and edit documents without an internet connection.
  • Local changes sync automatically once connectivity is restored.
  • Provides resilience against unstable networks and improves usability on mobile devices.

5. Hierarchical Structure

  • Documents can be nested within collections and other documents.
  • Mirrors natural knowledge organization: folders, subfolders, and pages.
  • Enables granular access control and easier navigation in large knowledge bases.

6. Attribute-Based Access Control (ABAC)

  • Moves beyond rigid role-based permissions.
  • Access is evaluated dynamically based on user attributes, document metadata, and context.
  • Offers fine-grained control suitable for complex sharing and collaboration scenarios.

7. Simple Deployment

  • Uses Docker and Docker Compose for straightforward setup.
  • Prebuilt images simplify installation for both developers and end-users.
  • Designed for easy upgrades and maintenance.

These decisions collectively shape Notivae into a privacy-respecting, user-centric, and robust platform for collaborative knowledge management.