Thanks @jarvis I’ll give this a shot. I did come up with a “solution” but it’s super hacky and vulnerable.
I wrote some JS to find all completed form elements above the “add row” button, set their attributes to hidden, and updated both display and pointer-events css attributes to none.
Of course, anyone savvy enough to inspect the code can undo all of this and still modify the data, but it’s unlikely.
I’ll give your approach a go though as that’s a lot safer! Thank you.