Yep, from what I've read since, it seems that this stuff just gets logged, but never transmitted.
Yep, exactly as I said from the very first. It was pretty obvious to anyone who writes stuff like this.
The meaning of 'logged' in that sentence is pretty critical though - does it get logged as in stored on disk? That would be bad news - worse, I'd say, than the apple location fiasco because of the data it contains.
Right again. It is definitely a dumb move and something that a more experienced (as in: has gotten bit before) developer would not have left turned on.
But then, even Apple's programmers set their location cache to a size that left info for over a year.
Programmers make mistakes. It's not a conspiracy. No one is out to get us. It's just a mistake.
There's an interesting interview with the company here:
http://www.theregister.co.uk/2011/12/02/carrier_iq_interview/
They're saying things like key presses get checked and discarded immediately.
Thank you very much for that article. It perfectly explains why their software watches texts and keystrokes:
1) They watch texts for a special one with a command to send their gathered debug statistics (NOT the log).
That's how most phones do remote clearing, as well.
2) They watch keystrokes for special sequences that trigger field commands.
A Blackberry has special keystrokes like that. For example, alt-LGLG lets you see a detailed log. And on most phones, including the iPhone, there is a special telephone number that is watched for to enable field tech mode.
That would make total sense to me - creating a text-style log of each keystroke would be very wasteful. But on the android video we saw, it didn't look like a simple bit of code checking the key press and discarding. It looked more like a log file, although he was supposedly using a packet sniffer.
Ah. That is the part that perhaps everyone is missing. There is a rolling global log file in most smartphones that developers can write to. This is simply that.
To see it in realtime, you hook your device to a PC running the Android debug software. A million developers a week do it. That's all he did. No packet sniffing. He just set up a simple filter to show just that app and watched the log.
So yes, the keystrokes are discarded. Almost everything is. It's just logged so the programmer can make sure his app is watching correctly for those special sequences. Again, doing this is as common as dirt.
The only thing I can think is that the keyboard handler sends the key presses to CIQ via the network, presumably on the loopback address so it stays on the phone.
Nope. It's just a local rolling log that you watch from an attached PC. See above.
Anyway, sounds like worst case it's just a coding error that will have nasty privacy implications if you lose your phone, best case it's just a diagnostics tool doing its job and nothing to worry about.
Exactly. And easily fixed in the future by turning it off before production.
Most importantly, I'm 99% sure that when the device reboots, the logs are cleared. (It's actually a developer complaint - grin.) But let me check that.
Edit later: Okay, I checked an Incredible and the log rolls about every 30 minutes. It also clears when you reboot. There are plenty of log viewer apps in the Android Market, btw. Heck, there's even a live wallpaper that continuously shows what the system is logging. This is not some mysterious thing the guy discovered.
Regards.