If you have the standard trim (not basic), you can create a new security group and use it to only to hide objects from other users. I would create it, assign it to only yourself, edit the asset (in this case, the custom object) to only be viewable/editable by users part of this new security group and remove/delete the permissions from the other groups and users.
The CDO will no longer be visible to other users, and you can remove yourself from the new security group if you don't wish to see it also.
Interesting approach. Sounds like it may work but it also sounds slightly like a workaround or hack, rather than a direct approach/feature in the platform. Would it truly "remove" the CDO from any assets/contact records? Would this satisfy something like GDPR if it only obfuscates the record?
I think unfortunately, the only direct solution would be to delete or modify each of the dependent filters and segments.
It sounds like you have a complex use case here, especially when it involves GDPR. Have you considered exporting the CDO and deleting the records, keeping the shell of the CDO?
I would vote for coding a solution with API. With it you could:
1. Get dependency ID list for that CDO
2. Go dependency by dependency and delete the filter containing this CDO
Some time coding, but after it, the cleaning would take a few minutes.
The time needed for coding would be a bit dependent on how you used this CDO in segments - as each different use case would require additional logic to not break those segments.
How do you also deal with segments and campaigns that are using the filter?
It depends on complexity and diversity.
If it is few scenarios, it is possible to code the solution (for example just deleting shared filter and connecting step before and after directly - absolutely possible with quite simple logic).
If there are a lot of various scenarios or the cases are complex (just deleting the filter won't be the post option), indeed, sounds like manual one-by-one work.