A web3 auth provider that privately stores user data in decentralized storage and selectively reveals it to the client app.
The main idea is that you don't really want to connect your wallet to some random dodgy 3rd party websites that you don't know. First of all, you don't want to necessarily reveal your wallet address to a 3rd party. And most importantly, they could trick you into approving a fraudulent transaction and scam you, drain your wallet, and so on. But you need to connect your wallet in order to use a dApp. Or do you?
Enter Polar - an abstraction layer between a dApp and your precious web3 wallet.
On the surface, it's a OAuth2 Provider. Basically, there is an exported button which a 3rd party website can utilize "Authenticate with Polar", which redirects you to polar's URL, you authenticate them by signing a message and a nonce using your connected wallet, and sending back a JWT containing your wallet address, signature, and any other user data which you can choose to reveal from Polar's UI. 3rd party website then uses this JWT to authenticate the user.
But wait...what about blockchain transactions? How do you call contracts if your wallet is not directly connected to the dApp?
Again, enter Polar! The client (3rd party) forms the txn as they would normally, declaring contract address, ABI, and method to be called, and then instead of using web3.js to call it themselves, they send it to Polar via a redirect. User is taken to Polar's UI, and is prompted to sign the transaction there. Contract, Method, Params, and Description are clearly displayed. Once user performs the action, they are taken back to the client's site along with the contract call response.
As a tldr, Polar is an abstraction layer between a dApp and your wallet, which acts as an OAuth Provider as well as a transaction execution layer.