Unhosted app data storage framework