But you are right in that if you don't trust the OS manufacturer not to be snooping on you, you can't trust the app. In addition to logging keystrokes they could be logging the contents of UI text controls as they are set. Even if you implement your own custom keyboard and UI controls and your own encryption prior to sending anything over a socket they could still be snapshotting the phone's framebuffer regularly. There's no way to reliably hide data that you can see visually (or data that has to be unencrypted in memory at some point, even if you don't see it) from the lowest levels of the OS.
Having said all of that, they probably aren't doing any of this, but they could.
> iOS7 provides settings for "background app refresh". Disabling unnecessary app's background refreshing contributes to preventing the potential background monitoring. However, it can be bypassed. For example, an app can play music in the background without turning on its "background app refresh" switch. Thus a malicious app can disguise itself as a music app to conduct background monitoring.
Also, even if you use your own homemade ultra secure OS, you will still be running it on top of the closed source & exploitable broadband chip.