Internally Blockcerts store all user data publicly on Etherium blockchain?

Internally Blockcerts store all user data(or certificate data) publicly on Etherium blockchain(anyone can read certificate data on etherium blockchain) or store only hash of the data and verify this hash with input json at verification?

Only the hash. Check out https://www.blockcerts.org/guide/