# MSC3122: Deprecate starting key verifications without requesting first

Currently, the [Key verification
framework](https://spec.matrix.org/unstable/client-server-api/#key-verification-framework)
allows a device to begin a verification via to-device messages by sending an
`m.key.verification.start` event without first sending or receiving an
`m.key.verification.request` message.  (The last sentence of the 5th paragraph
of the Key verification framework in the unstable spec, as of the time of
writing.)  However, doing so does not provide a good user experience, and
allowing this adds unnecessary complexity to implementations.

We propose to deprecate allowing this behaviour.

Note that verifications in DMs do not allow this behaviour.  Currently, Element
Web is the only client known to do this.

## Proposal

The ability to begin a key verification by sending an
`m.key.verification.start` event as a to-device event without a prior
`m.key.verification.request` is deprecated.  New clients should not begin
verifications in this way, but will still need to accept verifications begun in
this way, until it is removed from the spec.

## Potential issues

None.

## Alternatives

We could do nothing and leave it in the spec.  But we should clean up cruft when
possible.

## Security considerations

None.

## Unstable prefix

No unstable prefix is required since we are simply deprecating behaviour.
