I can’t really speak to the full details of why we implemented things this way, but I can say that GDPR was already on our radar before we implemented the functions feature. While I do believe that you are a responsible consumer, I hope you can appreciate that out of our hundreds of thousands of customers, most are not that savvy and in today’s litigous society, we need to help the majority be responsible by not making it easy for even them to violate the GDPR themselves. While I am not a lawyer, it is my belief that it is still possible that we’d have to go to court with them, if they do, using our service in a “default” mode.
You are of course welcome to use other providers for your functions needs that enable IP gathering, along with your netlify site. I’d use our proxying feature (https://www.netlify.com/docs/redirects/#proxying) to keep this transparent, unless you are already accessing your dynamic code using something like XmlHTTPRequest in which case it may not be a win.
I have filed a feature request to make this adjustable, but I do not expect it to be implemented. I will follow up here as the conversation around it progresses, if any decisions (for or against) are made, or our implementation changes.