Human.json

Sunday 22 March 2026

human.json is an interesting idea, but comes with the usual semantic web problems.

Human.json is a new idea for asserting that a site is authored by a person, and for vouching for other sites’ authorship. I’ve added one to this site.

It’s a fun idea, and I’ve joined in, but to be honest, I have some concerns. When I made my human.json file, I looked through my browser history, and saw a number of sites that were clearly personal sites that I liked. But if I list one, am I claiming to know that there is no AI content on that site? I can’t know that for sure.

I haven’t let this stop me from adding my own /human.json, and I’ll be interested to see what comes of it.

Human.json isn’t a new idea. There have been a number of attempts to add structured data to web pages:

  • <meta name="author"> tags are a simple way to claim authorship. I was surprised to see that this site didn’t have it, so I added it.
  • JSON-LD is a way to embed structured metadata into a page.
  • FOAF (Friend of a Friend) was an earlier attempt to model interpersonal relationships with structured data, as was XFN.
  • humans.txt is not structured, it’s a .txt file. This makes it all the stranger: if it’s free-form text to be read by people, why not an HTML page?

These ideas are all appealing in their ways, but I don’t think the messy complicated real world will yield to our desire for structure and categories.

To get a sense of the current state, I wrote a simple web crawler to explore human.json, meta tags, and JSON-LD. Currently it finds 214 vouched sites and 60 people’s names across 40 human.json files. This is a very small number, but the proposal is only two weeks old.

Like any hand-edited files, human.json files are strict: four of the human.json files I found had errors. But beyond simple editing mistakes, people use structured data incorrectly. As an example, Flickr embeds JSON-LD that claims there’s a person named “Flickr”, right next to where it says there’s a website named Flickr and an organization named Flickr.

Flickr’s goof about being a person isn’t such a big deal. But the goal of human.json is to indicate human authorship. If I were using AI to generate web content (ugh, “content”), I’d do whatever I could to mark it as human. The vouching is meant to build a web of trust, but it will be easy for the network to spring a leak and grant trust to sites that don’t deserve it.

Human.json wants to declare a binary categorization: your content is AI-generated or it isn’t. What about a site with 100% human-written text and also AI artwork? Should it be vouched for? The world doesn’t often provide us with tidy yes/no distinctions.

There is already discussion about how to address some of these issues, but I think at heart structured data like this is trying to sweep back the sea of complex human reality.

I don’t mean to be overly negative. I love these “small web” touches. I like anything that gets people talking to each other. When I found errors in human.json files, I sent emails to the authors, and got nice emails in return. Connection!

I like that human.json is simple; I don’t like that it is simplistic. But we can’t blame human.json for that, it’s a common pitfall in all attempts to organize the messy world.

I’ve added my file. We’ll see where it goes.

Comments

[gravatar]

Author here. I know the idea is not new (I remember FOAF and LOAF!) and far from perfect, but I’m hoping that its strength comes from the ease of implementation and the fact that it creates sub-communities of similarly minded-people.

Bot farms will likely have a file vouching for each other, since it’s cheap to add one; people who have a more pragmatic approach towards AI will probably vouch for people who are also more pragmatic; and people who don’t use AI for anything will likely vouch for similar people. So in a way you can choose the degree of AI-ness you’re comfortable with depending on who you decide to trust.

Also, in the browser extension the trust level for websites drops as the number of hops increase (0-1 hops is green, 2 is yellow, 3+ is orange), so, even if someone in your trust path vouches for an AI-generated website, the trust won’t propagate much. With the browser extension you can also block websites to prevent crawling past them.

I also wrote a small crawler (47 sites and 478 vouches edges), and so far at least it’s been a fun way of discovering new websites to follow! :)

[gravatar]

Interesting idea—this feels less like identity verification and more like building a subjective trust graph for the web.

Curious how you see it scaling beyond small communities. Systems like this tend to work well locally but get noisy or gameable at larger scales.

Also wondering if a binary “human vs AI” model is too limiting—maybe provenance (how content was created, with what tools, and how much human involvement) is a more realistic direction?

Add a comment:

Ignore this:
Leave this empty:
Name is required. Either email or web are required. Email won't be displayed and I won't spam you. Your web site won't be indexed by search engines.
Don't put anything here:
Leave this empty:
Comment text is Markdown.