I think below process can solve your problem .
1. Create two Object with same structure (Primary and Secondary ) (Primary is connected to Secondary )
2. Always create a record in Primary with Status Inactive.
3. When Someone Activate record then create a record in Secondary (Using form rule) .
4. Again When changes happen then we can change anything in Secondary and change it status to 'Pending Approval' (So Record in Primary remain same).
5. And show all records with Status ('Pending Approval') when someone approved it then update everything from Secondary to Primary back .
Hope this helps