Obsidian Sync / Publish for teams

Use case or problem

As a user of Obsidian who extensively uses Obsidian Sync and Obsidian Publish services, I’m seeking a feature that allows for more collaboration and sharing control over my knowledge base. Specifically, I’m looking to set up tiered access controls and a content approval workflow for my synchronized and published vaults.

I want to be able to restrict access to certain notes or folders in my published vault based on the user’s role. For example, some users should have full access to all notes, while others should only be able to access a subset of the notes.

Additionally, I would like to allow certain users to submit new notes or modifications to existing notes. However, these changes should not be published immediately. Instead, they should go into a review folder and a notification should be sent to a specified user or group of users. If a “power user” approves the change, it is then integrated into the website.

Proposed solution

The proposed solution would be to expand the capabilities of both Obsidian Sync and Obsidian Publish to include user management and access control features.

This could include:

  • User roles: Assign users to different roles, each with its own set of access permissions. This should apply to both Obsidian Sync and Publish, allowing control over who can sync certain files and who can view certain published notes.
  • Access controls: Restrict access to certain notes or folders based on the user’s role. This applies to both synced and published content.
  • Approval workflow: Allow users to submit new notes or changes, which are then reviewed and approved by a power user before being published or synced to other users. This would require changes to the Obsidian Sync service to handle the review and approval process before syncing changes to other users.

Current workaround (optional)

Currently, I am considering using a reverse proxy server with user authentication and authorization for the Publish side. However, this requires significant technical expertise and maintenance. For the Sync side, there is currently no workaround that provides the level of control I’m looking for.

Related feature requests (optional)