[Sony Xperia S, Acro S, Ion] lindworm:
You are not even trying to learn/understand why things are done the way they are done, but instead chose to blast an open source project by a security expert who has spoken at defcon various times and who is on a national security list and gets severely hassled by the TSA every time he tries to travel because of his involvement with secure communication projects.

You don't show the slightest form of objectiveness either. The truth content of what you are writing varies between "flat out wrong" and "there is a reason for how they do it that way, which you either didn't care to research or willingly ignored".

1. You can sideload the apk either from http://apps.evozi.com/apk-downloader/ or any of the dozens of sites that mirror packages from the app store.

They do not provide apks because it is a security risk: there is no automated upgrade channel from where a user can get a new version which may fix serious security flaws.

Everybody who is able to compile from source however should understand the importance of updating regularly and can do so on his/her own.

Moxie stated all of that in the github ticket I linked to.

2. GSF doesn't record your keystrokes.

3. If you had bothered to look it up, getNetworkInfo returns if a certain interface (like wifi) is used for internet.

This leaks no interesting information whatsoever. And it especially doesn't mean that TextSecure doesn't work without internet, because this permission does not give an app internet access. Xprivacy actually expects this behaviour by apps, that's why those fields are by default not restricted even if you restrict internet access of an app.

The program crashes without this, because it expects to get a needed value returned, which you chose to block. This is not something they willingly built in, to stop you from using it without Google Play.

If you can't manage the complexity of the permissions, you should use a simple firewall like AFwall+ to restrict internet access.

4. This was probably removed because it doesn't add any significant security and adds clutter to the user interface, because average users have no idea what it's for. The identity keys you are talking about are long term identity keys. TextSecure uses different keys in every message and actually uses the most secure protocol I know of. It has excellent forward secrecy, future secrecy and deniability. More so than OTR, which it is derived from.

You can learn more about that in their blog:

https://whispersystems.org/blog/simplifying-otr-deniability/

https://whispersystems.org/blog/asynchronous-security/

https://whispersystems.org/blog/advanced-ratcheting/

5. You asked them to not use the only free world wide push network that has contracts with all major providers to not kill idle TCP connections.

Moxie always answered that they would love to use something else, but none exists. And that they don't have the resources to build a push network themselves.

This is all in the comments to https://whispersystems.org/blog/the-new-textsecure/ and on ycombinator:

https://pay.reddit.com/r/Android/co..._cyanogenmod_is_integrating/cdyfxhm?context=3

https://pay.reddit.com/r/Android/co..._cyanogenmod_is_integrating/cdyfrv0?context=3

They are however working on using emails as identifiers and websockets as an alternative to GCM. Websockets are already implemented on the server side and people are working on the client side.

Right now you can use encrypted SMS without GCM, no problem at all. If you want to use it over the internet, you can help to speed up the websocket development:

https://github.com/WhisperSystems/TextSecure/issues/1000