Извиняюсь, если пропустил, просто пробежался бегло по статье.
Интересует вот такие вопросы:
1. как быть с 3ds?
2. как собирать данные, чтобы они не отображались в истории? имхо, это не секурно. видел вариант с кнопочной клавиатурой, но не знаю как это работает на практике.
1. 3ds — АльфаБанк возвращает URL, на который надо перейти и ввести код подтверждения из СМС, это происходит вне бота.
2. У Telegrma защищенный протокол, на сервере никакой информации не записывается, единственное — пользователь должен сам почистить на клиенте.
На чьем сервере? Если сообщения проходят через вашего бота, данные априори проходят через ваш сервер. Насколько я понимаю, вам нужна pci dss сертификация, чтобы это был законно.
Проходят — да, но не хранятся, поэтому это немного другой уровень PCI DSS, но вы все верно говорите. Интеграция только с тестовым, так что реальные данные пока не ходят — все законно.
1 — в рамках данного POC весь исходный код представлен публике
2 — в настоящей жизни, каждый год к вам приходит компания, которая сканирует и изучает вашу инфраструктуру, базу данных, диски с целью выявления не только номеров карточек / cvv / exp date, но и PII: personally identifiable information Чтобы подготовиться, чуществует различные тулзы (в основном, дорогие, а если PCI DSS compliant, так вообще), для проверки среды (файлов, БД и прочего) на предмет таких данных. Обычно аудит также любит посканировать порты, поискать XSS уязвимости. (говорю не голословно, со всем этим сталкиваюсь по работе)
По-моему, Dialogs позволяет работать с более гибкими, а не с более простыми сценариями. FormFlow позволяет пользователю ходить между полями формы вперед и назад, но эта последовательность полей задается жестко. А Dialog позволяет боту реагировать на каждое «неожиданное» сообщение пользователя и обрабатывать его, делая диалог более естественным. При этом, разумеется, реализация с Dialog требует больше усилий.
Да, Dialogs сам по себе представляет простой сценарий, с помощью которого можно добиться большей гибкости за счет бОльших усилий. FormFlow позволяет упростить рутинные задачи — такие, как онлайн запись куда-либо, заказ пиццы, оставление жалобы и т.д.
Тогда вы должны знать, что после совершения транзакции СТРОГО ЗАПРЕЩЕНО хранение CVC. В вашем случае чувствительные платежные данные «оседают» на серверах Telegram, история диалога сохраняется, они могут попадать в логи как на клиенте, так и на стороне серверов Telegram или вашего.
Когда вы используете Telegram в качестве транспорта, он должен соответствовать стандартам безопасности, основанным не на кустарных алгоритмах, а только на тех, которые прописаны в NIST как безопасные. MTProto среди них нет.
Более того, при использовании Bot Framework, сообщения еще и проходят через сервера Microsoft и никто не может гарантировать, что они не оседают там.
Также, Bot Framework позволяет подключить бота к Facebook Messenger (правда придется пройти ревью), в котором вся история переписки с ботом сохраняется в явном виде и доступна администратору привязанной страницы Facebook в любой момент.
Пишем мультиплатформенного бота для перевода денег с карты на карту с помощью Microsoft Bot Framework V1