Missed the removal question. For now as you need to be in the group to access messages then when you're removed you still have the key and theoretically could decrypt future messages, but you are blocked from retrieving the data by the server.
I was planning on adding an event at the point of removing someone from the group, which cycles the group key and then reissues to the remaining members. That way you've get the forward secrecy, even if they extraced the DB.
As I say left curve approach!
Open for ideas though / critique though.