You'll want to look at content approval. This is a list setting independent from Flow, but I believe can be accessed/activated using Flow. With content approval all new items are pending until a designated approver (someone in a permission group with Approver level access or higher) approves the item. The approver will be listed in the Modified By column. After that point, if anyone edits an item, it will revert back to pending.
Content approval uses a system field to track approvals, not the custom field you created so you can delete those. Unlike your custom fields that can be edited by anyone with access, these system fields cannot be edited directly by anyone regardless of permission level. If it says "Approved", that means the person in the Modified By column did it.
I don't believe you can prevent people from editing the items even after approval, however when they do, the item loses Approved status and would need to be re-approved by a designated person. That's about as locked down as you can make it.