{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreicih2jwnuxvrht64arf4ki7agtl3abamb2rsjuv2ooc4rag32jeoa",
    "uri": "at://did:plc:hrmcjdks6yqnd6blyz33hrp4/app.bsky.feed.post/3mi6os7ava2i2"
  },
  "path": "/2026/03/implementing-the-somewhat-whimsical-human-json-protocol-on-my-website/",
  "publishedAt": "2026-03-28T16:44:27.000Z",
  "site": "https://neilzone.co.uk",
  "tags": [
    "blogged\nabout adding a human.json file to his website",
    "The specification\nfor human.json",
    "Firefox\nbrowser extension"
  ],
  "textContent": "Terence blogged\nabout adding a human.json file to his website.\n\nI wanted to do the same.\n\nThe specification\nfor human.json describes itself as\n\n> a lightweight protocol for humans to assert authorship of their site content and vouch for the humanity of others. It uses URL ownership as identity, and trust propagates through a crawlable web of vouches between sites.\n\nA bit like signing each other’s PGP keys, really.\n\nThere are a few steps:\n\n  * add a json file to your webserver, with some basic information\n  * update that file when you “vouch” for someone else’s site, as being created by a human and free of AI\n  * added some header material to your website, to reference the source of your human.json file\n  * set a couple of web server headers (below)\n  * use a browser extension to surface that file on other people’s websites if they have implemented human.json\n\n\n\n## bash to update the list\n\nI made a simple bash script to simplify the process of creating the json to vouch for someone:\n\n\n    #!/bin/bash\n\n    set -euxo pipefail\n\n    FILE=/home/neil/neilzone_bssg/static/human/human.json\n    URL=\"$1\"\n    SANITISEDURL=\"$(echo \"$URL\" | sed 's/\\//\\\\\\//g')\"\n    VOUCHEDDATE=\"$(date -I)\"\n    COMMAND=\".vouches += [{\n         \\\"url\\\": \\\"$SANITISEDURL\\\",\n         \\\"vouched_at\\\": \\\"$VOUCHEDDATE\\\",\n    }]\"\n\n    jq \"$COMMAND\" \"$FILE\" > temp.json && mv temp.json \"$FILE\"\n\n    cp -r /home/neil/neilzone_bssg/static/human /var/www/neilzone.co.uk/public_html/\n\nI am sure that there are better ways of doing this, but it works for me.\n\n## Headers\n\nI am using a separate directory for this json file, as it wants specific headers. I am using apache, so in the `.htaccess` file in `human`, I have:\n\n\n    header set Access-Control-Allow-Origin \"*\"\n    header set Content-Type \"application/json\"\n\n## Browser extension\n\nUsing the Firefox\nbrowser extension, which is probably available for other browsers too, I can see if a site offers human.json file, or is vouched for by another person whose own human.json file I have already trusts.\n\n## Thoughts\n\nWill it catch on? I doubt it. It is a bit of whimsy, and that is no bad thing.\n\nI have only included URLs where the site owner has consented for me to do so. If you are such a person and wish me to remove the “vouch” from my site, then please do just let me know. Consent is sexy.\n\nBecause I am low-key “vouching” for people, I’ve only vouched for people that I know, even for a relatively limited definition of “know”. Not strangers, but not limited to the most intimate of relationships either. Mostly fedi friends, which is nice.\n\nIs it _bad_? I don’t think so. I have seen a couple of comments about it being a useful thing for AI scrapers to follow, but frankly they seem to be doing just fine anyway. If signalling to fellow humans also attracts unwanted traffic well, in this case, so be it.",
  "title": "Implementing the somewhat whimsical human.json protocol on my website",
  "updatedAt": "2026-03-28T16:44:27.000Z"
}