Serverless .vcf URL

What is this?

This is the only solution to share a .vcard over NFC to iPhone users without uploading your private data to some service. iPhones just won't accept vCards as NDEF record over NFC, so we built this.

Serverless?

Kinda, we still need a server to serve a simple web page, but we never have your vCard content on the server, it never reaches us. We think this is the most privacy friendly way to share your contact over NFC (if you want to support iPhones).

How does it work?

We use a property of URLs called the "fragment" or "hash". This is the part of the URL after the #, e.g. https://dngr.us/#fragment. This part of the URL is never actually sent to the server! Quote from Wikipedia:

When an agent (such as a web browser) requests a web resource from a web server, the agent sends the URI to the server, but does not send the fragment.

All your valuable private contact information is only stored in there and never leaked to us.

And yes, the generated links can therefore become too large for your NFC chip, so you need to keep the vCard small enough.

How do I create a .vcard file?

If you do not have a special vCard, you could always just enter your contact info on the page to generate a vCard url.

On iOS, you can create a vCard file by opening the Contacts app, selecting the contact you want to export, tapping on the share icon, and then selecting "Share Contact".

On Android, you can create a vCard file by opening the Contacts app, selecting the contact you want to export, and then tapping on the "Export" or "Share" option. You can choose to export the contact as a vCard file.

Where's the source code?

As this is completely implemented on the client side and not obfuscated, you can just view the files with your browser's dev tools.

Credits

This was partly done with ChatGPT.

Hosting provided by DangerousThings.com
Code / Idea by yeka · Design by Comter