{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreifmww7pm2ly3j37byydcxkk7f6o7euianhiz6vnbfkr4lpgn3uypm",
    "uri": "at://did:plc:tntgihx6r2e2gqexsx72grd5/app.bsky.feed.post/3mhoqgvbj2ca2"
  },
  "path": "/blog/202603/humanjson",
  "publishedAt": "2026-04-22T22:55:38.199Z",
  "site": "https://nedbatchelder.com",
  "tags": [
    "Human.json",
    "/human.json",
    "<meta name=\"author\"> tags",
    "JSON-LD",
    "FOAF",
    "XFN",
    "humans.txt",
    "simple web\ncrawler",
    "Flickr",
    "discussion",
    "all attempts to organize the messy world"
  ],
  "textContent": "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.\n\nIt’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.\n\nI haven’t let this stop me from adding my own /human.json, and I’ll be interested to see what comes of it.\n\nHuman.json isn’t a new idea. There have been a number of attempts to add structured data to web pages:\n\n  * <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.\n  * JSON-LD is a way to embed structured metadata into a page.\n  * FOAF (Friend of a Friend) was an earlier attempt to model interpersonal relationships with structured data, as was XFN.\n  * 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?\n\n\n\nThese 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.\n\nTo get a sense of the current state, I wrote a simple web\ncrawler 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.\n\nLike 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.\n\nFlickr’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.\n\nHuman.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.\n\nThere 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.\n\nI 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!\n\nI 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.\n\nI’ve added my file. We’ll see where it goes.",
  "title": "Human.json",
  "updatedAt": "2026-03-22T17:28:53.000Z"
}