I've found out that it is a lithium polymer battery. It looks very cheap and simple, so I didn't expect the battery itself would have any protection. Being the curious and irresponsible I of course started 'dissecting' it. I think/thought that there would be a few cells inside, so I just wanted to remove the foil to see the cells. But it wasn't easy to remove at all. And in the process of trying to cut through, I cut too far. Sparkles, hizzes, and a bad smell of glue and fire resulted. I'm just going to conclude that it does not have any circuitry, thus no protection. It would have to be incredibly compact to fit in there. The left battery if for reference, the right shows where I cut through.
The Arduino has a 'charge' lamp, that turns off at some point, so I trust that it does protect from overcharging.
Wouldn't it be irresponsible if it did not also protect from draining the battery below the healthy limit? However, in this post
they write "does not appear" to protect from over-discharging.
That would mean that in any use case of Arduino Fio, no matter how simple/complex, the application design team needs to implement their own protection. Unless they want to be irresponsible as well, of course. It really seems stupid and wrong, doesn't it?