How to use CNN in production environment?

I’ve been taking this course for a few months now, and … BEST COURSE EVER. But seriously…

Say I have an application like SwiftKey which you discussed in the 5th lesson. The user is giving more training data to the NN every time they type more. All what we have been doing is offline training, creating a model that we can use for predictions using front-end libraries (or so I hope).

1- What happens in such applications where more training data is added all the time?
2- How and when do they train the network again?
3- Would the whole model be trained again every time? Or just re-fitted when more training data is available? Does that make any difference in accuracy?

I am guessing the training happens on device, and the data is not being sent to online servers that train a model and return it.