Rendered at 22:40:29 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
Scaled 12 hours ago [-]
These solutions will never be viable, and I'll explain why. Fundamentally, there's three sets of the population:
1) Those who are clamoring for age verification (generally on sites they never interact with themselves.)
2) People arguing fiercely against age verification and won't engage with any site who uses it
3) Most significantly, the large majority of people in the middle who can't be bothered to do AV and will just use another overseas website instead.
Even if the privacy can be solved (and I don't believe it can as someone fundamentally unwilling to upload my ID even once), that balance is basically the problem with trying to outsource the work to people who don't want to do it. We can already see that even privacy preserving solutions will not be used by adult site visitors in multiple adult site attempts to roll it out. The ONLY viable solution is parental filters on device. Anything that pushes the work to people who don't want it fails because the sites will just move overseas instead of losing the vast majority of their actual users. Or they roll it out and the traffic moves overseas, like data analysis has shown happened in UK.
You just can't solve the problem by pushing the work onto everyone instead of tackling it at its source. Rather than try to lock down the entire Internet, which will never happen, lock down child devices.
mikeysight 1 hours ago [-]
I forgot to include this but sincerely, thank you for the comments and for giving me an opportunity to answer some very important questions that motivate me.
mikeysight 1 hours ago [-]
I obviously totally disagree (otherwise there'd be no reason for me to keep building), and I'll explain why.
Working backwards, I think the device is exactly the wrong place for enforcement. Devices are not individuals and individuals are not their devices. Devices are tools for interacting with the open internet. Multiple people can share one and most persons own multiple. Additionally, we don't treat any aspect of our society with this attitude. Would it be preferable for 16 year olds to be provisioned cars that were unable to turn into the parking lot of a liquor store so that the work of verifying the customer's age would not be "outsourced to people who don't want to do it"? I like the real world, and I think we have done a pretty good job at organizing ourselves as a society, and it's my sincere belief that our interactions online would benefit by closer reflecting those that happen in the material world. I wrote about this at length in the essay in comments below.
Second, while it is admittedly a very difficult challenge, the privacy can be solved, and I'm very excited to be working on it. I don't accept that the status quo or a dystopian alternative are the only two outcomes, but I do sincerely respect those in bucket 2 and their prerogative to avoid any site utilizing age verification technology. That being said, I do plan to earn the trust of many in that bucket with a bit of integrity, transparency and cryptography :)
As for bucket 3, that's exactly who this was made for.
icermann 1 days ago [-]
There are (at least) two problems to solve. The first is to anonymously verify properties about the user (e.g. age) and the second is to only allow the legitimate person verify themself.
An national electronic id would provide users with the possibility to verify their age, that they are a physical person and so on, but in the basic case it gives their identity away to any system they use. Letting someone else use your id-card is in many countries illegal and comes with possible negative consequences. Share access to my e-id would allow them to access my bank account, take loans in my name, file for tax returns and a whole bunch of other stuff. So: e-id is not anonymous but usually kept from unauthorized use.
One solves the anonymity part. Is the document in the encrypted blob accessible by the user? Can my identity be shared with websites? Basically: what stops someone from sharing their One passkey? What stops me from letting my AI agents use it, share it with my younger cousin or sell it online?
mikeysight 1 hours ago [-]
as promised, wanted to circle back on a few last items:
> Is the document in the encrypted blob accessible by the user?
Currently, verified elements of the document are encrypted and persisted but not the entire document. I do think in the future the encryption and persistence of the full document could be justified for reusable ID presentation during KYC. In these cases, selfie or liveness check would likely need to be re-completed and validated against the existing document, but would still save the user a document upload.
> Can my identity be shared with websites?
No. As I mentioned above however, in the future I do believe it could make sense for a user to optionally share their identity document with an application requiring KYC (like a bank or other regulated entity) to improve that user experience across multiple applications.
> Basically: what stops someone from sharing their One passkey? What stops me from letting my AI agents use it, share it with my younger cousin or sell it online?
The passkey itself is device/ecosystem - bound, so it's not something that can be sold or transferred, but more importantly, the passkey is not ultimately the proof of personhood in this case. That comes from the identity document, which needs to recently match the presenter at time of verification.
I hope that helped clarify, let me know if there's anything else I can answer!
skybrian 19 hours ago [-]
The main problem that age verification is solving is that we want children to be using child-locked devices, and those devices need to identify themselves. In theory this could be solved simply by locked devices sending an HTTP header. Then it's up to parents (and the stores that sell devices) to make sure that children are using devices with a child lock turned on.
This technique allows the opposite: the id is used to validate a device as not child-locked. It's a whitelist instead of a blacklist. But maybe that's more practical in the short run?
Preventing unlocked devices from being used by children isn't a software issue. Someone could just give them the device. It's up to society to not do that. Determined teens will certainly circumvent it, but it doesn't have to work perfectly to change the culture.
mikeysight 57 minutes ago [-]
Thanks for the thoughts here! The whitelist vs blacklist association is spot on, and despite being practical I think there's an argument to be made that it's a strength, since it takes the onus off of the minor in this case and addresses the issue of unintentionally identifying underage users by forcing them to declare themselves.
I also shared my thoughts about device-level enforcement in my reply to Scaled, would be curious to hear your take on some of those ideas there, if you get the chance. Really appreciate the feedback.
tomveber 15 hours ago [-]
[dead]
mikeysight 1 days ago [-]
[dead]
0xedwen 1 days ago [-]
[flagged]
thcr 3 days ago [-]
"One stores ciphertext: encrypted blobs created with a key held by the user. Never the underlying identity data. This includes government ID and selfie data, as well as the verified email associated with the account. "
Why does it need to store even encrypted data after the result is +18, for example? Does ONE need to keep validating against the same documents every time?
mikeysight 3 days ago [-]
Great question, and also thank you for calling this out, because "selfie data" shouldn't be included in that description, since those images are not persisted at all, encrypted or otherwise (editing now). You make a very good point about being able to reissue valid proofs based on a previous verification (and I think that could even be a viable user opt-in down the road) but the identity data that is persisted serves two main purposes: 1. reusability across applications that require a proof scoped to a valid government ID for legal purposes (non-expired, for example) or with a recency requirement (fresh photo matching the ID photo to validate you're the person holding the ID), and 2. as a means for users to self-custody their identity documents for presentation as needed across the web (future KYC ambitions for the project).
Of course, it's impossible to know for sure what was LLM processed or not, but some of your posts (like this one) have been getting classified that way.
mikeysight 1 days ago [-]
the recovery flow is scoped to the account but not the encrypted data. if the passkey is lost, the encrypted identity data is lost (by design) and the user has to upload again before new verifications. the account and associations with previously linked applications remain.
mikeysight 3 days ago [-]
I wrote up more of the thinking behind this here for those interested:
> When identity documents are uploaded, they are encrypted using a master encryption key derived from the user’s passkey during authentication.
ONE still sees identity documents in the clear the first time when it verifies them, right? Otherwise we could upload fakes.
Also I'm not familiar with Oauth 2.0, but doesn't ONE know the client and relying party on each verification transaction? So ONE could theoretically store records of who accessed which website, perhaps by mistaken logging configuration or because they were coerced by law enforcement.
Anyway I appreciate the consideration given to privacy.
mikeysight 4 days ago [-]
> ONE still sees identity documents in the clear the first time when it verifies them, right? Otherwise we could upload fakes.
Yes that's correct, the identity documents are validated alongside the selfie before the selfie is discarded and the identity documents are encrypted by the passkey-derived encryption key prior to persistence.
> Also I'm not familiar with Oauth 2.0, but doesn't ONE know the client and relying party on each verification transaction? So ONE could theoretically store records of who accessed which website, perhaps by mistaken logging configuration or because they were coerced by law enforcement.
Yes this is a great callout. ONE does know the client and relying party on each verification transaction and could theoretically store these records (and your point about strict avoidance of logging PII is very important), but implemented properly, identifying the "who" behind a user after initial verification (the coerced by law enforcement example) would require modifying the server or client-side code to capture plaintext during a future passkey-bound decryption. This is also why I have a goal of open sourcing the server side code that processes the plaintext identity payload and running it in an enclave with verifiable attestation.
> Anyway I appreciate the consideration given to privacy.
Thank you! I appreciate the questions.
quadhome 1 days ago [-]
I wonder if you could have the verification use something like the Privacy Pass protocol to emit a bunch of spendable anonymous login tokens.
mikeysight 1 days ago [-]
I wasn't familiar with this protocol, thank you for sharing. I have something similar to this in the works right now along the lines of passkey-bound session keys that can be used without the user being present.
tomveber 3 days ago [-]
[dead]
sixtiethutopia 1 days ago [-]
When a user reuses a previously saved government ID is that ID decrypted and sent in plaintext to your service? (Ie. does your service see the ID in plaintext every time a user uses the service?)
Do you use zero-knowledge proofs in any way?
mikeysight 1 days ago [-]
the service doesn't see the document itself on subsequent verifications but it does receive a signed verification payload containing derived fields in plaintext currently. No ZK proofs at this stage but agreed it would be a great future improvement!
akshay_akula 4 days ago [-]
If you could combine this with the google oath experience somehow like age verification of my google account? I would def use that.
mikeysight 4 days ago [-]
also google if you're reading this don't even think about it, patent is pending and my uncle is a lawyer
mikeysight 4 days ago [-]
check out the demo video! I think you'll like it :) that's the exact user experience (it's built on the same OAuth protocol) but with all underlying data encrypted to your device.
bitwize 23 hours ago [-]
This wouldn't pass muster for the "age verification laws" that various governments are implementing or have planned. Even if the laws currently on the books or being proposed do not have the requirements, "KYC to touch a computer or communicate over the internet" is the goal. People are crying out for their children to be kept safe online, and the solution the government knows is a full auditable trail of who communicated what to whom when. This also nicely solves the problem of "anyone can set up a new online service", allowing the big players to entrench themselves...
mikeysight 47 minutes ago [-]
Interestingly enough, many of the age verification laws passed recently in the states and EU explictly require or suggest anonymous or otherwise privacy-preserving technologies in their wording. I share a healthy dose of skepticism and cynicism around the ability of institutions to competently enact law and not to overstep, but I also believe that innovation drives legislation more than the inverse, and that if great tools exist that can address many or all of the core concerns around user friction and privacy, the law will be informed, shaped and clarified by those capabilities.
1) Those who are clamoring for age verification (generally on sites they never interact with themselves.)
2) People arguing fiercely against age verification and won't engage with any site who uses it
3) Most significantly, the large majority of people in the middle who can't be bothered to do AV and will just use another overseas website instead.
Even if the privacy can be solved (and I don't believe it can as someone fundamentally unwilling to upload my ID even once), that balance is basically the problem with trying to outsource the work to people who don't want to do it. We can already see that even privacy preserving solutions will not be used by adult site visitors in multiple adult site attempts to roll it out. The ONLY viable solution is parental filters on device. Anything that pushes the work to people who don't want it fails because the sites will just move overseas instead of losing the vast majority of their actual users. Or they roll it out and the traffic moves overseas, like data analysis has shown happened in UK.
You just can't solve the problem by pushing the work onto everyone instead of tackling it at its source. Rather than try to lock down the entire Internet, which will never happen, lock down child devices.
Working backwards, I think the device is exactly the wrong place for enforcement. Devices are not individuals and individuals are not their devices. Devices are tools for interacting with the open internet. Multiple people can share one and most persons own multiple. Additionally, we don't treat any aspect of our society with this attitude. Would it be preferable for 16 year olds to be provisioned cars that were unable to turn into the parking lot of a liquor store so that the work of verifying the customer's age would not be "outsourced to people who don't want to do it"? I like the real world, and I think we have done a pretty good job at organizing ourselves as a society, and it's my sincere belief that our interactions online would benefit by closer reflecting those that happen in the material world. I wrote about this at length in the essay in comments below.
Second, while it is admittedly a very difficult challenge, the privacy can be solved, and I'm very excited to be working on it. I don't accept that the status quo or a dystopian alternative are the only two outcomes, but I do sincerely respect those in bucket 2 and their prerogative to avoid any site utilizing age verification technology. That being said, I do plan to earn the trust of many in that bucket with a bit of integrity, transparency and cryptography :)
As for bucket 3, that's exactly who this was made for.
An national electronic id would provide users with the possibility to verify their age, that they are a physical person and so on, but in the basic case it gives their identity away to any system they use. Letting someone else use your id-card is in many countries illegal and comes with possible negative consequences. Share access to my e-id would allow them to access my bank account, take loans in my name, file for tax returns and a whole bunch of other stuff. So: e-id is not anonymous but usually kept from unauthorized use.
One solves the anonymity part. Is the document in the encrypted blob accessible by the user? Can my identity be shared with websites? Basically: what stops someone from sharing their One passkey? What stops me from letting my AI agents use it, share it with my younger cousin or sell it online?
> Is the document in the encrypted blob accessible by the user?
Currently, verified elements of the document are encrypted and persisted but not the entire document. I do think in the future the encryption and persistence of the full document could be justified for reusable ID presentation during KYC. In these cases, selfie or liveness check would likely need to be re-completed and validated against the existing document, but would still save the user a document upload.
> Can my identity be shared with websites?
No. As I mentioned above however, in the future I do believe it could make sense for a user to optionally share their identity document with an application requiring KYC (like a bank or other regulated entity) to improve that user experience across multiple applications.
> Basically: what stops someone from sharing their One passkey? What stops me from letting my AI agents use it, share it with my younger cousin or sell it online?
The passkey itself is device/ecosystem - bound, so it's not something that can be sold or transferred, but more importantly, the passkey is not ultimately the proof of personhood in this case. That comes from the identity document, which needs to recently match the presenter at time of verification.
I hope that helped clarify, let me know if there's anything else I can answer!
This technique allows the opposite: the id is used to validate a device as not child-locked. It's a whitelist instead of a blacklist. But maybe that's more practical in the short run?
Preventing unlocked devices from being used by children isn't a software issue. Someone could just give them the device. It's up to society to not do that. Determined teens will certainly circumvent it, but it doesn't have to work perfectly to change the culture.
I also shared my thoughts about device-level enforcement in my reply to Scaled, would be curious to hear your take on some of those ideas there, if you get the chance. Really appreciate the feedback.
Why does it need to store even encrypted data after the result is +18, for example? Does ONE need to keep validating against the same documents every time?
Of course, it's impossible to know for sure what was LLM processed or not, but some of your posts (like this one) have been getting classified that way.
https://loginwithone.com/blog/the-internet-should-be-more-li...
ONE still sees identity documents in the clear the first time when it verifies them, right? Otherwise we could upload fakes.
Also I'm not familiar with Oauth 2.0, but doesn't ONE know the client and relying party on each verification transaction? So ONE could theoretically store records of who accessed which website, perhaps by mistaken logging configuration or because they were coerced by law enforcement.
Anyway I appreciate the consideration given to privacy.
Yes that's correct, the identity documents are validated alongside the selfie before the selfie is discarded and the identity documents are encrypted by the passkey-derived encryption key prior to persistence.
> Also I'm not familiar with Oauth 2.0, but doesn't ONE know the client and relying party on each verification transaction? So ONE could theoretically store records of who accessed which website, perhaps by mistaken logging configuration or because they were coerced by law enforcement.
Yes this is a great callout. ONE does know the client and relying party on each verification transaction and could theoretically store these records (and your point about strict avoidance of logging PII is very important), but implemented properly, identifying the "who" behind a user after initial verification (the coerced by law enforcement example) would require modifying the server or client-side code to capture plaintext during a future passkey-bound decryption. This is also why I have a goal of open sourcing the server side code that processes the plaintext identity payload and running it in an enclave with verifiable attestation.
> Anyway I appreciate the consideration given to privacy.
Thank you! I appreciate the questions.
Do you use zero-knowledge proofs in any way?