Все что хранится в блокчейне и должно быть доступно для смартконтракта - доступно всем (в этом смысл смартконтракта - это код, который все могут запустить и проверить что состояние, которое майнеры с его помощью получают, было у всех одинаковое).
Т.е. перед хранением данные придется зашифровать ну и после чтения - расшифровать (это придется делать сервисом, который собственно предоставляет интерфейс пользователя), а значит смартконтракт эти данные может только хранить.
p.s. есть гомоморфное шифрование, позволяет проводить операции над зашифрованными данными, без их расшифровки... очень высокие требования к вычислениям и реализовывать их внутри смартконтракта абсурдно бессмысленно.