Skip to content

Commit f7e16cc

Browse files
committedApr 14, 2025
Merge branch 'feature/hub-1.4.0-features'
2 parents 6da2ceb + dd823cc commit f7e16cc

25 files changed

+292
-59
lines changed
 

‎source/conf.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,14 @@
129129
"hub/setup/billing": "/hub/license",
130130
"hub/setup/keycloak-administration": "/hub/user-group-management",
131131
"hub/setup": "/hub/deployment",
132-
"hub/access-vault/unlocking-a-vault/4.-vault-unlocked": "/hub/access-vault/unlocking-a-vault/vault-unlocked",
133-
"hub/access-vault/unlocking-a-vault/3.-add-device": "/hub/access-vault/unlocking-a-vault/add-device",
134-
"hub/access-vault/unlocking-a-vault/2.-authenticate": "/hub/access-vault/unlocking-a-vault/authenticate",
135-
"hub/access-vault/unlocking-a-vault/1.-click-unlock": "/hub/access-vault/unlocking-a-vault/click-unlock",
132+
"hub/access-vault/unlocking-a-vault/4.-vault-unlocked": "/hub/access-vault/#vault-unlocked",
133+
"hub/access-vault/unlocking-a-vault/3.-add-device": "/hub/access-vault/#register-device",
134+
"hub/access-vault/unlocking-a-vault/2.-authenticate": "/hub/access-vault/#authenticate",
135+
"hub/access-vault/unlocking-a-vault/1.-click-unlock": "/hub/access-vault/#click-unlock",
136+
"hub/license": "/hub/admin/license",
137+
"hub/license/#what-is-a-seat": "/hub/admin/#what-is-a-seat",
138+
"hub/license/#community-license": "/hub/admin/#community-license",
139+
"hub/license/#updating-your-license": "/hub/admin/#updating-your-license",
136140
"desktop/vault-mounting": "/desktop/volume-type"
137141
}
138142

‎source/hub/admin.rst

+162
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
.. _hub/admin:
2+
3+
Admin
4+
=====
5+
6+
.. _hub/admin/license:
7+
8+
License
9+
-------
10+
11+
Every Cryptomator Hub instance requires a license.
12+
The license is bound to the instance and cannot be transferred to another instance.
13+
Every license has a number of seats and a validity period.
14+
As an Hub administrator, you can view license information in the administration area.
15+
16+
.. image:: ../img/hub/admin-area-license.png
17+
:alt: Administration area
18+
19+
.. _hub/admin/license/seat:
20+
21+
What is a Seat?
22+
^^^^^^^^^^^^^^^
23+
24+
A regular license contains a fixed number of *seats*.
25+
A *seat* is taken for every user, which is assigned to at least one, not-archived vault.
26+
Note that:
27+
28+
* If a user is not assigned to any vault, it *does not occupy* a seat.
29+
* If a user is assigned to multiple vaults, it only *occupies one* seat.
30+
* If :ref:`a user is created or imported to Hub <hub/user-group-management>`, it does not occupy a seat.
31+
32+
.. note:: Enterprise licenses can have an unlimited number of seats. Visit `cryptomator.org <https://cryptomator.org/hub/>`_ for more information.
33+
34+
.. _hub/admin/license/community-license:
35+
36+
Community License
37+
^^^^^^^^^^^^^^^^^
38+
39+
When you deploy Cryptomator Hub by yourself, it comes with a community license with life-long validity and 5 seats.
40+
41+
.. _hub/admin/license/buy-license:
42+
43+
Updating your License
44+
^^^^^^^^^^^^^^^^^^^^^
45+
46+
If the community license is not sufficient for your needs, you can upgrade it to a paid license.
47+
You can also upgrade an already existing, paid license.
48+
To do so, click on the button in the lower right corner of the administration area.
49+
It will redirect you to the Cryptomator Hub license store.
50+
After the purchase, you will be automatically redirected back to your Hub instance.
51+
52+
.. _hub/admin/audit-logs:
53+
54+
Audit Logs
55+
----------
56+
57+
The Audit Logs provide an overview of security-related events within Cryptomator Hub.
58+
These logs allow administrators to track important account and vault-related actions.
59+
60+
.. note::
61+
Audit Logs are not available with a Community License.
62+
63+
Event Types
64+
^^^^^^^^^^^
65+
66+
The following events are logged:
67+
68+
Device
69+
"""""""
70+
71+
- **Register Device** - A user :ref:`registered a new device <hub/access-vault/unlocking-a-vault/add-device>`. This can be e.g. a Cryptomator app (desktop/mobile) to unlock a vault or a web browser to access Cryptomator Hub.
72+
- **Remove Device** – A user :ref:`removed a device <hub/your-account/profile/authorized-devices>`.
73+
74+
Web of Trust
75+
""""""""""""
76+
77+
- **Signed Identity** – A user :ref:`signed the identity of another user <hub/vault-management/wot>`.
78+
- **Update Wot Setting** – A user updated :ref:`Web-of-Trust settings<hub/vault-management/wot>`, e.g. the ``wot_max_depth``.
79+
80+
Vault
81+
""""""
82+
83+
- **Add Vault Member** – A vault owner :ref:`added a member to a vault <hub/vault-management/add-user>`. This only adds the member but does not derive the vault key for the new member.
84+
- **Create Vault** – A user :ref:`created a vault <hub/vault-management/create-vault>`.
85+
- **Grant Vault Access** – A user :ref:`derived the vault key for the new member <hub/vault-management/updating-permission>`.
86+
- **Retrieve Vault Key** – A user retrieved a vault key. This happens when a user :ref:`unlocks a vault <hub/access-vault/unlocking-a-vault>` but also e.g. when a owner manages the vault. The IP address and device information are optional for legacy reasons.
87+
- **Remove Vault Member** – A vault owner removed a member from a vault.
88+
- **Update Vault Member** – A vault owner :ref:`changed a member’s role <hub/vault-management/change-ownership>` (owner or user).
89+
- **Update Vault** – A vault owner :ref:`updated the vault metadata <hub/vault-management/edit-vault-metadata>`. This includes the vault name or description.
90+
91+
Account
92+
""""""""
93+
94+
- **Account Key Changed** – A user :ref:`re-generated the account key <hub/your-account/profile/regenerate-account-key>`. This also logs ``User Keys Change`` because changing the account key also changes parts of the user keys.
95+
- **Reset User Account** – A user :ref:`resetted it's account <hub/your-account/reset-account>`.
96+
- **User Keys Change** – A user changed it's keys. This happens when e.g. the user :ref:`finished the account setup <hub/your-account/setup>` or when the ``Account Key Changed``.
97+
98+
Legacy
99+
""""""
100+
101+
- **Claim Vault Ownership** – A user claimed vault ownership. This event is logged when a vault created with hub pre 1.3.0 is claimed by the vault creator using the `Vault Admin Password`.
102+
103+
.. _hub/admin/audit-logs/table-view:
104+
105+
Audit Log Table View
106+
^^^^^^^^^^^^^^^^^^^^
107+
108+
The logs are displayed in a structured table containing the following columns:
109+
110+
- **Timestamp** – The exact time of the event.
111+
- **Event** – The type of event that occurred.
112+
- **Details** – Additional information about the event.
113+
114+
.. image:: ../img/hub/auditlogs-overview.png
115+
:alt: Audit Logs Table View
116+
117+
.. _hub/admin/audit-logs/filters:
118+
119+
Filtering Audit Logs
120+
^^^^^^^^^^^^^^^^^^^^
121+
122+
To refine the displayed logs, a filtering function is available:
123+
124+
.. image:: ../img/hub/auditlogs-filter.png
125+
:alt: Audit Log Filtering Options
126+
127+
- **Date Range Filter**: Allows filtering logs between two specific dates.
128+
- **Event Type Filter**: A multi-select dropdown enables filtering by event type.
129+
130+
.. image:: ../img/hub/auditlogs-filter-events.png
131+
:alt: Audit Log Filtering Options
132+
133+
.. _hub/admin/wot:
134+
135+
Web of Trust
136+
------------
137+
138+
The Web of Trust (WoT) feature in Cryptomator Hub helps users verify each other's identity by signing the :ref:`User Key Pair <security/hub/keys/user-keys>` with their private keys using ECDSA.
139+
First, the trusting user needs to verify the trustee by entering the first characters of the trustee's public key fingerprint. Once signed, the proof is uploaded to Hub, where others can check its authenticity.
140+
141+
WoT also supports transitive trust, meaning if Alice trusts Bob, and Bob trusts Charlie, then Alice implicitly trusts Charlie. This forms a trust chain, allowing users to establish indirect trust relationships.
142+
143+
.. image:: ../img/hub/wot-admin.png
144+
:alt: Audit Log Filtering Options
145+
146+
**In the administration area, administrators can configure the following trust settings:**
147+
148+
The maximum depth of such chains can be configured using the **Maximum WoT Depth** property:
149+
150+
* The default value is 3 ("Great-Grandchild")
151+
* The maximum value is 9
152+
* The minimum value, 0, means no trust chain is allowed, only direct trust relationships are considered.
153+
154+
With the **Fingerprint Verification Preciseness** property, the minimum length of the entered public key fingerprint can be configured:
155+
156+
* The default value is 2
157+
* The minimum value, 0, means the fingerprint of the trustee is fully shown without any input needed.
158+
159+
.. note::
160+
161+
If a user resets their account, their :ref:`User Key Pair <security/hub/keys/user-keys>` is regenerated, invalidating all previously established trust relationships regarding this user.
162+
Additionally, any existing trust chains that included the user will be broken, requiring re-verification to restore trust.

‎source/hub/introduction.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ If you are…
2121
…an **administrator**:
2222

2323
* :ref:`User & Group management <hub/user-group-management>` - how to manage users and groups.
24-
* :ref:`License <hub/license>` - how to manage your Hub license.
24+
* :ref:`License <hub/admin/license>` - how to manage your Hub license.
2525
* :ref:`Deployment <hub/deployment>` - how to deploy Cryptomator Hub.
2626

2727
…a **user**:

‎source/hub/license.rst

-48
This file was deleted.

‎source/hub/user-group-management.rst

+33
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,36 @@ A good step-by-step guide for connecting Microsoft Entra with OpenID Connect can
4040

4141
.. warning::
4242
Regardless of your choice, your Keycloak instance always contains two local users: ``admin`` and ``syncer``. **Do not edit or delete them!** The first one is for administration tasks and the second one is used to synchronize users and groups between Keycloak and Hub.
43+
44+
45+
.. _hub/user-group-management/roles:
46+
47+
Roles
48+
-------------
49+
50+
There are four different roles in Cryptomator Hub:
51+
52+
* **user**: A user can open vaults and manage their own account.
53+
* **admin**: An admin manages the Keycloak realm, can see the audit log, and can create vaults.
54+
* **create-vault**: Only users with this role can create vaults. The role is inherited by the `admin` role.
55+
56+
The ``user``, ``admin``, and ``create-vault`` roles are assigned to users or groups via the Keycloak admin console by an existing user with the ``admin`` role.
57+
58+
.. _hub/user-group-management/roles/create-vault:
59+
60+
Create Vault Role
61+
^^^^^^^^^^^^^^^^^
62+
63+
By default, this role is only assigned to the ``admin`` role. This means that only users with the ``admin`` role can create vaults. If you want to allow other users to create vaults, you can assign the ``create-vault`` role to them directly or via a group.
64+
65+
If you want that all users can create vaults, assigning the ``create-vault`` role as transient role to the ``user`` role. This way, every user will have the ``create-vault`` role as well.
66+
67+
To allow all users vault creation, assign ``create-vault`` as a transient role to the ``user`` role:
68+
69+
1. Open the Keycloak admin console.
70+
2. Select ``Realm roles``.
71+
3. Select the ``user`` role.
72+
4. Select ``Assign role``.
73+
5. Select the ``create-vault`` role.
74+
6. Apply with ``Assign``.
75+

‎source/hub/vault-management.rst

+44-1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ Alternatively, you can also access the list by clicking on the ``Vaults`` tab in
3434
Create a Vault
3535
--------------
3636

37+
.. note::
38+
Creating vaults require the ``create-vault`` role. :ref:`Here <hub/user-group-management/roles>` you can read more about roles.
39+
3740
To create a vault in Hub, navigate to the vault list and click on the ``Create Vault`` button in the top right corner.
3841
Every vault has a name and optionally a description.
3942
Fill out the form and continue the process by clicking the ``Next`` button in the right corner.
@@ -165,6 +168,46 @@ To archive the vault, click on the ``Archive Vault`` button in the :ref:`vault d
165168

166169
You can unarchive it by clicking on the ``Owned by me`` tab in the navigation bar, select the vault and clicking on the ``Reactive Vault`` button.
167170

171+
.. _hub/vault-management/wot:
172+
173+
Web of Trust
174+
^^^^^^^^^^^^
175+
176+
Cryptomator Hub uses a Web of Trust (WoT) to verify the identity of users during vault sharing.
177+
178+
The WoT state of a user is displayed in the vault details page. The state can be one of the following:
179+
180+
* **Unverified**: There is no turst chain between you and the specific user. Indicated with a red shield. You can change this by verifying the user.
181+
* **Verified**: There is a trust chain between you and the specific user. Indicated with a green shield. You or a user you trust has verified the user.
182+
183+
To verify ``alice``, click on the red shield icon and select ``Check Idenditiy...``
184+
185+
.. image:: ../img/hub/wot-carol-unverified.png
186+
:alt: Carol is unverified regarding its Web of Trust state
187+
:width: 920px
188+
189+
While verifiying a user, you need to enter the first characters of the user's public key fingerprint. This fingerprint is displayed in user coresponding user profile page.
190+
191+
.. image:: ../img/hub/wot-carol-verify.png
192+
:alt: Verify Alice regarding its Web of Trust state
193+
:width: 920px
194+
195+
``alice`` is now verified
196+
197+
.. image:: ../img/hub/wot-carol-verified.png
198+
:alt: Alice is verified regarding its Web of Trust state
199+
:width: 920px
200+
201+
The verification process is logged in the audit log with event type ``Signed Identity``
202+
203+
.. image:: ../img/hub/wot-audit-log.png
204+
:alt: WAudit log
205+
:width: 920px
206+
207+
``signature still valid`` means that the ``identiy`` has still the same key. If the user account gets reset after verification, this message changes to ``was valid; signed key changed by now`` and the user needs to get verified again.
208+
209+
You can read more details about Web of Trust and how to configure its settings in the :ref:`Admin section of Hub <hub/admin/wot>`.
210+
168211
.. _hub/vault-management/import-vault:
169212

170213
Import a Vault
@@ -176,4 +219,4 @@ For a successful import, the :ref:`recovery key<desktop/password-and-recovery-ke
176219
The import is done via the Hub vault recovery feature.
177220
Follow the :ref:`vault online recovery guide <hub/vault-recovery/online-recovery>` and use the recovery key of the password-based vault in the process.
178221
Don't forget to replace the vault config file ``vault.cryptomator`` at the vault storage location at the end.
179-
Finally, to ensure that the vault cannot be unlocked with its old password anymore, remove the file ``masterkey.cryptomator`` and all backup files ( ending with ``.bkup``).
222+
Finally, to ensure that the vault cannot be unlocked with its old password anymore, remove the file ``masterkey.cryptomator`` and all backup files (ending with ``.bkup``).

0 commit comments

Comments
 (0)