The browser's local storage can store up to 10MB of data. You could serialize and base64-encode the user data (keyboard image, and csv data), so that they persist between visits.