(It was probably an open-source dialer on F-Droid, but don't remember exactly which one.)
Anyway, an even better approach of course is to tell data-slurping apps to bugger off.
Edit: come to think of it, maybe alternative Android ROMs could fence the contacts so that an app only sees its own unless the user specifically selects someone. I guess this is similar to Apple's trick with Photos.