mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-05-03 07:34:10 +02:00
Compare commits
7 commits
867c96c22b
...
b80c6238b1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b80c6238b1 | ||
|
|
f7f6080e71 | ||
|
|
030502f540 | ||
|
|
c9408e804e | ||
|
|
941dc8950a | ||
|
|
da0f627c18 | ||
|
|
51c049a232 |
|
|
@ -1 +1 @@
|
||||||
Specify m.key_backup account data (MSC4287).
|
Specify `m.key_backup` account data, as per [MSC4287](https://github.com/matrix-org/matrix-spec-proposals/pull/4287).
|
||||||
|
|
|
||||||
|
|
@ -4280,7 +4280,6 @@ 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 |
|
||||||
|
|
@ -4386,6 +4385,5 @@ 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,6 +1479,43 @@ 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,
|
||||||
|
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
### 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,5 +22,4 @@
|
||||||
"required": ["enabled"]
|
"required": ["enabled"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": ["type", "content"]
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue