insert and update depending on if the user has submitted information before

I’d focus on what is being returned - if the wrong person’s information is being returned, then I’d first guess that you are using the wrong record id to get the record from your Properties dataset. Check that you’re not mixing up the Properties record id with the user id.