mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-05-01 22:54:10 +02:00
Compare commits
No commits in common. "b80c6238b1a9ba862b7c94e09f33210fcbbaabb7" and "867c96c22bfe708193582e323d48903a258f12cb" have entirely different histories.
b80c6238b1
...
867c96c22b
|
|
@ -1 +1 @@
|
||||||
Specify `m.key_backup` account data, as per [MSC4287](https://github.com/matrix-org/matrix-spec-proposals/pull/4287).
|
Specify m.key_backup account data (MSC4287).
|
||||||
|
|
|
||||||
|
|
@ -4280,6 +4280,7 @@ that profile.
|
||||||
| [Policy Servers](#policy-servers) | Optional | Optional | Optional | Optional | Optional |
|
| [Policy Servers](#policy-servers) | Optional | Optional | Optional | Optional | Optional |
|
||||||
| [OpenID](#openid) | Optional | Optional | Optional | Optional | Optional |
|
| [OpenID](#openid) | Optional | Optional | Optional | Optional | Optional |
|
||||||
| [Recently used emoji](#recently-used-emoji) | Optional | Optional | Optional | Optional | Optional |
|
| [Recently used emoji](#recently-used-emoji) | Optional | Optional | Optional | Optional | Optional |
|
||||||
|
| [Key Backup Enabled](#key-backup-enabled) | Optional | Optional | Optional | Optional | Optional |
|
||||||
| [Reference Relations](#reference-relations) | Optional | Optional | Optional | Optional | Optional |
|
| [Reference Relations](#reference-relations) | Optional | Optional | Optional | Optional | Optional |
|
||||||
| [Reporting Content](#reporting-content) | Optional | Optional | Optional | Optional | Optional |
|
| [Reporting Content](#reporting-content) | Optional | Optional | Optional | Optional | Optional |
|
||||||
| [Rich replies](#rich-replies) | Optional | Optional | Optional | Optional | Optional |
|
| [Rich replies](#rich-replies) | Optional | Optional | Optional | Optional | Optional |
|
||||||
|
|
@ -4385,5 +4386,6 @@ systems.
|
||||||
{{% cs-module name="Event replacements" filename="event_replacements" %}}
|
{{% cs-module name="Event replacements" filename="event_replacements" %}}
|
||||||
{{% cs-module name="Event annotations and reactions" filename="event_annotations" %}}
|
{{% cs-module name="Event annotations and reactions" filename="event_annotations" %}}
|
||||||
{{% cs-module name="Recently used emoji" filename="recent_emoji" %}}
|
{{% cs-module name="Recently used emoji" filename="recent_emoji" %}}
|
||||||
|
{{% cs-module name="Key backup enabled" filename="key_backup_enabled" %}}
|
||||||
{{% cs-module name="Threading" filename="threading" %}}
|
{{% cs-module name="Threading" filename="threading" %}}
|
||||||
{{% cs-module name="Reference relations" filename="reference_relations" %}}
|
{{% cs-module name="Reference relations" filename="reference_relations" %}}
|
||||||
|
|
|
||||||
|
|
@ -1479,43 +1479,6 @@ potential new key backup algorithm version that would fix this issue.
|
||||||
|
|
||||||
{{% http-api spec="client-server" api="key_backup" %}}
|
{{% http-api spec="client-server" api="key_backup" %}}
|
||||||
|
|
||||||
###### Key backup enabled preference
|
|
||||||
|
|
||||||
{{% added-in v="1.19" %}}
|
|
||||||
|
|
||||||
This module enables clients to track a user's preference about enabling or
|
|
||||||
disabling [server-side backups of room keys](#server-side-key-backups). The data
|
|
||||||
is stored in the [`m.key_backup`](#mkey_backup) global
|
|
||||||
[account data](#client-config).
|
|
||||||
|
|
||||||
{{% event event="m.key_backup" %}}
|
|
||||||
|
|
||||||
When a user signs in to a client which supports encryption and key backup:
|
|
||||||
|
|
||||||
* If this event type exists in account data and contains the specified property
|
|
||||||
in the correct format, clients which support key backup MUST take account of
|
|
||||||
its contents in their behaviour. For example, clients may automatically turn
|
|
||||||
on/off key backup based on the property, or prompt the user, using the
|
|
||||||
property value as a default. (Because this property is server-controlled,
|
|
||||||
clients may wish to confirm the user's intention.)
|
|
||||||
|
|
||||||
* If this event type does not exist in account data, or if it does not contain
|
|
||||||
the `enabled` property, or if the value of `enabled` is not a boolean value,
|
|
||||||
clients MUST ignore the existing value and MAY decide whether or not to
|
|
||||||
perform key backup, possibly based on user input.
|
|
||||||
|
|
||||||
If the user turns on key backups, clients MUST set this event type in account
|
|
||||||
data, to `"enabled": true`.
|
|
||||||
|
|
||||||
If the user turns off key backups, clients MUST set this event type in account
|
|
||||||
data, to `"enabled": false`.
|
|
||||||
|
|
||||||
Clients are not required to monitor the `m.key_backup` account data actively.
|
|
||||||
Clients MAY monitor the setting but should be aware that changing this setting
|
|
||||||
without user interaction based on choices made in a different client (or a
|
|
||||||
compromised homeserver) may cause unforeseen security problems or simply be
|
|
||||||
unexpected by users.
|
|
||||||
|
|
||||||
##### Key exports
|
##### Key exports
|
||||||
|
|
||||||
Keys can be manually exported from one device to an encrypted file,
|
Keys can be manually exported from one device to an encrypted file,
|
||||||
|
|
|
||||||
44
content/client-server-api/modules/key_backup_enabled.md
Normal file
44
content/client-server-api/modules/key_backup_enabled.md
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
### Key backup enabled
|
||||||
|
|
||||||
|
{{% added-in v="1.19" %}}
|
||||||
|
|
||||||
|
This module enables clients to track a user's preference about enabling or
|
||||||
|
disabling [server-side backups of room keys](#server-side-key-backups). The data
|
||||||
|
is stored in the [`m.key_backup`](#mkey_backup) global
|
||||||
|
[account data](#client-config).
|
||||||
|
|
||||||
|
#### Events
|
||||||
|
|
||||||
|
{{% event event="m.key_backup" %}}
|
||||||
|
|
||||||
|
#### Client behaviour on sign-in
|
||||||
|
|
||||||
|
When a user signs in to a client which supports encryption and key backup:
|
||||||
|
|
||||||
|
* If this event type exists in account data and contains the specified property
|
||||||
|
in the correct format, clients which support key backup MUST take account of
|
||||||
|
its contents in their behaviour. For example, clients may automatically turn
|
||||||
|
on/off key backup based on the property, or prompt the user, using the
|
||||||
|
property value as a default. (Because this property is server-controlled,
|
||||||
|
clients may wish to confirm the user's intention.)
|
||||||
|
|
||||||
|
* If this event type does not exist in account data, or if it does not contain
|
||||||
|
the `enabled` property, or if the value of `enabled` is not a boolean value,
|
||||||
|
clients MUST ignore the existing value and MAY decide whether or not to
|
||||||
|
perform key backup, possibly based on user input.
|
||||||
|
|
||||||
|
#### Client behaviour on setting change
|
||||||
|
|
||||||
|
If the user turns on key backups, clients MUST set this event type in account
|
||||||
|
data, to `"enabled": true`.
|
||||||
|
|
||||||
|
If the user turns off key backups, clients MUST set this event type in account
|
||||||
|
data, to `"enabled": false`.
|
||||||
|
|
||||||
|
#### Not actively monitoring this setting
|
||||||
|
|
||||||
|
Clients are not required to monitor the `m.key_backup` account data actively.
|
||||||
|
Clients MAY monitor the setting but should be aware that changing this setting
|
||||||
|
without user interaction based on choices made in a different client (or a
|
||||||
|
compromised homeserver) may cause unforeseen security problems or simply be
|
||||||
|
unexpected by users.
|
||||||
|
|
@ -22,4 +22,5 @@
|
||||||
"required": ["enabled"]
|
"required": ["enabled"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"required": ["type", "content"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue