Admin() in TransparentUpgradeableProxy is protect by ifAdmin why?

the function admin() in TransparentUpgradeableProxy is protect by ifAdmin
it made some trouble when you want to get the admin address in etherscan .

I think it is not possible for contract , is it for secretive? or because of security?

In my Proxy I want to remove ifAdmin on admin(), is any security problem ? how would help me?

and the same time admin() is not a virtual function , I have to copy the whole TransparentUpgradeableProxy.sol but inherit and overwrite it. why ? why the author design it as this way ? Are these something I don't kown?

And these is the same problem with implementation()

what is worry?
no one reade it ?

The use of ifAdmin is related to the security issues documented here: