Need for Secondary Contact Storage Space accessible only for CallerId The contacts storage in android is pretty much standardised and is unified among all apps, and accessible depending on the permission level.

However, I need a way to store some contacts which should not be in the standard contact storage space, because it is accessible by all the messaging apps and there is no way to hide contacts from selectively appearing in them, other that deleting the contact.

But, deleting them altogether makes it difficult to identify them during an incoming call.

So, I want to have a way to save contacts that can be avoided from being accessed by all apps, but I should be able to identify them on an incoming call. 

How can this be done? Any app or storing in csv file... Any suggestion please? 

Please note that any caller identification apps which are cloud based, is not the option I am looking for. I want to accomplish this for contacts I know and have saved only.
I came up with a solution for this myself. Instead of writing a complete android app, I found out that Automate itself has SQLite function blocks. So I just wrote a flow to accomplish this and it can be found at 

http://llamalab.com/automate/community/flows/17889

Preview of that flow:


Preview of that flow (click to enlarge)