Автоподстановка кода из SMS на Android

Есть такая магия — SMS приходит на телефон, а приложение его автоматически читает и подставляет в поле для ввода OTP (one-time password)
На первый взгляд механизм понятен:
система получает SMS -> кидает Intent в приложение -> Broadcast Receiver получается Intent с текстом SMS
Но есть подвох — это опасно. Если все приложения будут получать этот Intent, то они смогут перехватить OTP (читать "аккаунт украден")
Поэтому вводятся дополнительные степени защиты
Первая:
Ограничение по времени — приложение получает Intent только в течение 5 минут после начала ожидания OTP
А вторая на выбор:
2.1 Или показываем пользователю системную диаложку "Вы ТОЧНО хотите вставить этот код в это приложение?"
2.2 Или в SMS должен быть зашит hash-код приложения
Подход 2.1 называется One-tap SMS verification (потому что требует от юзера одного нажатия на кнопку "да, ТОЧНО"
Подход 2.2 вообще не требует от юзера тапов
hash-код для 2.2 формирутеся из подписи приложения и заранее сообщается бекенду, который отправляет SMS
бекенд вставляет hash-код в конец текста SMS
Например,
"Никому не сообщайте код 110011, Ваш Банк? Sdnjh!a+iDn",
где Sdnjh!a+iDn — hash-код приложения