It is more efficient to get trust providers to offer them, but it also requires trust in the provider. If the app can compute all of, you wouldn't need anything else.