TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How to run analytics on data without access to the data?

42 pointsby michealrover 4 years ago
I have little service for personal use, and I was considering opening it up to a general audience. Right now its processing some of my personal data for fun little personal report, in particular chat data. Since its information I have access to already, I don&#x27;t mind running the program locally. What I would like to be able to do is run an analysis for anyone and return the little report that I get for myself. Without having access to their data or storing it in the first place. I know with for example oauth scopes, you can grant access, which sort of fits the criteria. But I&#x27;m thinking more exported data from an application, that doesn&#x27;t have delegated access functionality<p>How I envisioned a solution would be some trusted third party takes my analysis script, returns the report and that is it. I never see the underlying data and recieve only one time token to access it.<p>I know it will never be hundred percent leak proof, and there is still a level of user trust, I realise that, but just thinking conceptually, is there any existing service out there, that does such a thing or attempts to offer something similar? Or what would an alternative approach look like?

18 comments

BelenusMordredover 4 years ago
&gt; I know it will never be hundred percent leak proof<p>A slow leaking ship will still sink. Attempts so far to anonymise public datasets have been terrible and turned into a garbage fire by attackers every time with minimal effort. Don&#x27;t hand out false promises.<p>Guess you are looking for fully homomorphic encryption. A long-outstanding problem with lots of smart people working on it, some are doing ok at getting there.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;ibm&#x2F;fhe-toolkit-linux" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ibm&#x2F;fhe-toolkit-linux</a>
评论 #25430771 未加载
评论 #25430167 未加载
评论 #25430554 未加载
meowfaceover 4 years ago
Your best bet is probably to just do all the processing locally in the browser. The issue is 1) from most end users&#x27; perspectives, they have no idea if it&#x27;s actually running locally or talking to a server, or how to verify it, or probably what that difference even means in the first place, so a skeptical user won&#x27;t necessarily gain that much additional peace of mind, and 2) hypothetically a compromise could still result in the local data being siphoned off by an attacker. The latter&#x27;s still a risk for regular desktop applications, but a bit less so (since you can get a signed binary).<p>The homomorphic encryption approach probably isn&#x27;t worth the effort. There&#x27;s always going to be a trade-off between doing something useful and sufficiently&#x2F;securely obfuscating&#x2F;anonymizing the data. So I&#x27;d recommend the local approach, with a prominent explanation of how you don&#x27;t and can&#x27;t see any of the data.
评论 #25430548 未加载
评论 #25431999 未加载
franky47over 4 years ago
I asked myself a similar question for web analytics a year ago [1]: how to provide a service without having access to the underlying data. It requires shifting the processing onto the client side, so it limits what you can do, but it&#x27;s best for privacy, and security (since the data never leaves the native app or browser).<p>[1] <a href="https:&#x2F;&#x2F;chiffre.io" rel="nofollow">https:&#x2F;&#x2F;chiffre.io</a>
评论 #25430119 未加载
评论 #25430317 未加载
stelferover 4 years ago
Take a look at Google Private Join and Compute[1]. But be aware that the problem you frame is an unsolved research problem with an active global community. The topics you are looking for are applications of secure multiparty computation and homomorphic encryption. Also, be ready for something as simple as a column join to take 24 hours per query.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;Google&#x2F;private-join-and-compute" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Google&#x2F;private-join-and-compute</a>
rjmunroover 4 years ago
This reminds me of <a href="https:&#x2F;&#x2F;opensafely.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;opensafely.org&#x2F;</a>, which analyses NHS medical data for research purposes by asking Doctors to run queries on their patient databases and send back only summaries, e.g. &quot;How many of your patients with HIV also had Covid19&quot; <a href="https:&#x2F;&#x2F;github.com&#x2F;opensafely&#x2F;hiv-research" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;opensafely&#x2F;hiv-research</a>
goptyover 4 years ago
<a href="https:&#x2F;&#x2F;www.darpa.mil&#x2F;program&#x2F;programming-computation-on-encrypted-data" rel="nofollow">https:&#x2F;&#x2F;www.darpa.mil&#x2F;program&#x2F;programming-computation-on-enc...</a>
Syzygiesover 4 years ago
<a href="https:&#x2F;&#x2F;mathscinet.ams.org&#x2F;mathscinet&#x2F;help&#x2F;about.html" rel="nofollow">https:&#x2F;&#x2F;mathscinet.ams.org&#x2F;mathscinet&#x2F;help&#x2F;about.html</a> &quot;MathSciNet® is an electronic publication offering access to a carefully maintained and easily searchable database of reviews, abstracts and bibliographic information for much of the mathematical sciences literature. Over 125,000 new items are added each year...&quot;<p>The stakes are lower when money, not privacy, is at risk. I have attempted to argue for years that the MathSciNet catalog of the mathematical literature should be open to all forms of machine learning and mind mapping software experiments. It remains a cash cow for the American Mathematical Society, and they&#x27;re fiercely proud of its human curation by 19th century methods. Meanwhile, mathematicians continue to believe that math remains separated into tribes, with number theorists lobbying to hire their own at departmental meetings. The true connections between ideas defy these ancient categories. I see a generation of potential advances squandered by not letting third-party tools in to study MathSciNet.<p>The right ideas could help here. One isn&#x27;t protecting individual privacy, just a cash cow. The bar is lower.
syatsover 4 years ago
I&#x27;ll tell you about International Data Spaces Assocation, just for the sake of completeness, and because others have mentioned some sort of certification of apps, etc. Finding a general solution to the problem posed by OP is quite difficult, as it requires a lot of extra infrastructure, technical and non-technical.<p>One idea would be:<p>1. distribute to the data owners a base system (something that can &quot;run&quot; stuff on their premises). People here have mentioned browsers, but for a more intensive processing this might not be enough.. so think of a docker daemon, keys for some docker registries, etc.<p>2. have a trusted &quot;app store&quot; (e.g. a docker registry where images are built in a reproducible manner from code which is inspected and certified, and then are cryptographically signed)<p>3. make a well described interface to the apps to consume the data (thinking of the general use case here.. if you just want to analyze fb info then you can make an adhoc parser...)<p>4. Have the data owner download, check the signature of, configure and run the app on their premises.<p>Things get even more interesting when the analytics need data from different non-trusting partners, so that Homeomorphic Encryption becomes necessary.<p>There is at least one specification that aims at supporting all of this: <a href="https:&#x2F;&#x2F;www.internationaldataspaces.org&#x2F;wp-content&#x2F;uploads&#x2F;2019&#x2F;03&#x2F;IDS-Reference-Architecture-Model-3.0.pdf" rel="nofollow">https:&#x2F;&#x2F;www.internationaldataspaces.org&#x2F;wp-content&#x2F;uploads&#x2F;2...</a> although implementation is, so far, lagging behind.
alflover 4 years ago
We [0] are getting quite far decomposing algorithms symbolically and then doing some fancy footwork with private set intersection. It ends up being better&#x2F;faster&#x2F;cheaper than homomorphic in a lot of use cases.<p>Shoot us a note -- would love to hear more details.<p>[0]: <a href="https:&#x2F;&#x2F;proofzero.io" rel="nofollow">https:&#x2F;&#x2F;proofzero.io</a>
amaiover 4 years ago
It sounds like Federated Learning might be of interest for you:<p><a href="https:&#x2F;&#x2F;federated.withgoogle.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;federated.withgoogle.com&#x2F;</a> <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Federated_learning" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Federated_learning</a> <a href="https:&#x2F;&#x2F;github.com&#x2F;poga&#x2F;awesome-federated-learning" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;poga&#x2F;awesome-federated-learning</a>
cedricdover 4 years ago
There&#x27;s another approach you can do -- make the analysis portable instead.<p>Assuming data is in a standard format then you can share your script for people to run themselves. Obviously this is fairly difficult in practice unless you can bundle everything into a client-side script on a website.<p>For reference Narrator [1] does this -- it puts data into a standard format so that analyses written for one company can be run for another. I&#x27;m not suggesting you build your stuff on that platform, but it&#x27;s an interesting approach that does exist.<p>[1] <a href="https:&#x2F;&#x2F;www.narrator.ai" rel="nofollow">https:&#x2F;&#x2F;www.narrator.ai</a>
jedimastertover 4 years ago
Either the first party (i.e. the client) runs the data on their own turf or they hand the data to someone else (you or whatever third-party you use) and trust that the other end is going to treat your data right.<p>I&#x27;m sure there&#x27;s some sort of homomorphic encryption[0] magic scheme that might let you process the data on other servers or something, but I could not even begin to tell you how. Really, it&#x27;s just trust.
brian_spieringover 4 years ago
Differential privacy is the field of study for sharing sensitive data in a way that allows analysis while retaining some guarantees of privacy.
评论 #25431528 未加载
JosephRedfernover 4 years ago
How is the service written? I&#x27;d look to compile it down to WASM or otherwise run it in the browser, if possible.
评论 #25430320 未加载
gostsamoover 4 years ago
Adding the third party only complicates the issue because the user will have to trust you and the proxy, and the proxy will have to trust your code. Best case, let the user download your code as a mobile or desktop app and run the analysis themselves.
tjanezover 4 years ago
You might want to check out Oasis&#x27; Parcel SDK: <a href="https:&#x2F;&#x2F;www.oasislabs.com&#x2F;parcelsdk" rel="nofollow">https:&#x2F;&#x2F;www.oasislabs.com&#x2F;parcelsdk</a>.
jhoechtlover 4 years ago
What about Fully Homomorphic encryption? Would a FHE scheme enable to discover patterns without seeing the data?
评论 #25430337 未加载
sgt101over 4 years ago
Could you send your code to their execution environment for a one time run (unlocked with a code?)