{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreifdboyzbrcamc4sxns3edfvdskzlxhkmaxn26sfkhtjdt5aehd7dy",
    "uri": "at://did:plc:fn2acxfxtgb64qxmzdocnbav/app.bsky.feed.post/3mioi42abgpz2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreihxvquvjdepv3gvtox6hputnlqrnfylj6uoigithor24vyvjfguim"
    },
    "mimeType": "image/png",
    "size": 25009
  },
  "path": "/blog/implementing-human-json/",
  "publishedAt": "2026-04-03T15:44:11.000Z",
  "site": "https://joelchrono.xyz",
  "tags": [
    "human.json",
    "Axxuy",
    "Naty",
    "STFN",
    "Neil’s",
    "100DaysToOffload",
    "Reply on Fediverse"
  ],
  "textContent": "I’ve decided to implement the human.json protocol on my website as well.\n\nBasically, this file is a way for websites to vouch for the human authorship of others. It comes with a web extension you can install that will let you know if a site is vouched by another.\n\nI saw a couple of people doing it and decided to jump on the bandwagon, as it is part of what inspired me to write about human websites before.\n\nSome of the people I saw implementing this protocol were Axxuy, Naty and STFN, but I think the post that got me to pull the trigger was Neil’s.\n\nHandling json is not very human friendly, it’s one of the many funny quirks about this protocol, but alas, it’s just a fun thing to do so, whatever.\n\nFor now, I simply created a `humans.yml` file inside my Jekyll’s `_data` folder, and created a `human.json` file in my root directory with the following Liquid template:\n\n\n    --- layout: none permalink: /human.json --- { \"version\": \"0.1.1\", \"url\": \"{{ site.url }}\", \"vouches\": [ {% for human in site.data.humans %} { \"url\": \"{{ human.link }}\", \"vouched_at\": \"{{ human.date }}\" }, {% endfor %} { \"url\": \"https://examplefinalwebsite.com/\", \"vouched_at\": \"2026-04-03\" } ] }\n\nThe humans.yml file simply looks like this:\n\n\n    - link: \"https://example.com\" date: 2026-04-03 - link: \"https://example2.com\" date: 2026-04-03 - link: \"https://example3.com\" date: 2026-04-03\n\nand last but not least, adding a `<link>` tag in the HTML `<head>` section:\n\n\n    <link rel=\"human-json\" href=\"/path/to/human.json\">\n\nOf course, having a YAML file that gets turned into a JSON file is not the best thing ever, but it’s easier to edit and modify on the fly, it only gets generated at build time anyway.\n\nGiven what this project entails, I’ve been a bit conflicted on what websites would make it to my own list. The obvious ones are easy, but those that are real people who used generated content in one shape or another, even if the rest is human-made are harder to decide for me.\n\nPart of me wants to be kind of gatekeepy and leave out websites just because they use an generated profile pic, or thumbnail here or there, or maybe they have written a couple of articles about using an LLM to generate some code, or whatever.\n\nBut well, I’ve decided to just go by feel for those cases that are hard to pinpoint exactly.\n\nAnother word can be said about having to do all of this in the first place. That humans are the ones having to prove themselves, instead of websites being clear about using generated content.\n\nIn any case, the project seems very fun. It will probably not be a big thing in most websites, but alas, I don’t mind doing this and vouching for other people. I’ll try to keep it updated over time, and be sure to let me know if you find a site I link that isn’t as human anymore.\n\nThis is day 45 of #100DaysToOffload.\n\nReply to this post via email | Reply on Fediverse",
  "title": "Verifying human authorship with human.json",
  "updatedAt": "2026-04-03T15:44:11.000Z"
}