We encountered this issue "You can't set access to 'private' on attributes 'fields' because this component is referenced by Lightning Page: 'Record Page'" when trying to save an aura component with a change to an attribute access (public to private).
We have implemented the interfaces:
- force:hasRecordId
- flexipage:availableForRecordHome