How do you get user entered config data to firmware app?

I was thinking along those lines but I really appreciate the confirmation that it was a sound approach! When you say version field I get that but migrating in the future isn’t entirely clear. I am thinking it is because when I change the fields in the struct I can’t use EEPROM.update and pass it the updated struct so I would need to get() the struct object, update the fields then put() it back into EEPROM. The version field is there to ensure I am looking at the correct struct since technically the previous version is still in flash unless I overwrite to the same addr. Should I rotate through the address/page range when these changes occur? Would Flashee handle some of those lower level details for me?