Glad you like the idea! Obviously scaling could be an issue (20 random addresses doesn't add a lot of privacy/noise if the user inputs 5000 addresses) and there's going to be a lot of extra calls to the sochart API which could suck if they limit. I haven't looked at their API but if they give your limits in the response header I guess you could still keep it pretty quick by only adding a setTimeout when you're close to the limit?
I wonder if there's a trusted public API that lets you send a list of address instead of one address at a time? Obviously you could set one up yourself, but then you get back into the issue of sending data to your own server and thus losing trust.
