{
  "path": "/3mkni6zmetc2q",
  "site": "at://did:plc:l37td5yhxl2irrzrgvei4qay/site.standard.publication/3m5mr6ndwbk2o",
  "tags": [],
  "$type": "site.standard.document",
  "title": "Using PDS Gatekeeper to keep your account secure",
  "content": {
    "$type": "pub.leaflet.content",
    "pages": [
      {
        "id": "019dd9ee-8bc9-7dde-82e6-7186e58c0e2a",
        "$type": "pub.leaflet.pages.linearDocument",
        "blocks": [
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreid2rakwe6u5l6kvuadnm6wpcvmhz5z2xqdy3kdnmv3rzhq57vn2am"
                },
                "mimeType": "image/webp",
                "size": 767392
              },
              "aspectRatio": {
                "width": 2276,
                "height": 1280
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "src": "https://tangled.org/pds.dad/pds-gatekeeper",
              "$type": "pub.leaflet.blocks.website",
              "title": "pds.dad/pds-gatekeeper",
              "description": "Microservice to bring 2FA to self hosted PDSes",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreigacyv4t74qujfrm4dk7xbgkmfiimd5w7aciuynr2l4a6erchhg2i"
                },
                "mimeType": "image/png",
                "size": 33808
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 1,
              "plaintext": "What is PDS Gatekeeper?"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "PDS Gatekeeper is an awesome tool built by Bailey Townsend that adds some useful but crucial security features to your PDS. Such as Email 2FA and Captcha on account creation."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 3,
              "plaintext": "Email 2FA"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 74,
                    "byteStart": 50
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ]
                }
              ],
              "plaintext": "PDS Gatekeeper adds email 2FA to the PDS, meaning (if configured properly) when you, the user, want to sign in to your account you will be asked to provide a short 10-digit code sent to your inbox."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 3,
              "plaintext": "Captcha on account creation"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "PDS Gatekeeper also adds a Captcha-on-account-creation feature that overrides the default account-creation endpoint to serve a Captcha when creating an account, and it requires a valid Captcha response from hCaptcha to complete the request."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 1,
              "plaintext": "Why?"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 19,
                    "byteStart": 14
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ]
                }
              ],
              "plaintext": "Bluesky has a small bot issue where botnets find open PDSs, PDSs without invite codes enabled, and then mass-create accounts. This is an issue because it adds extra load to the PDS and uses extra bandwidth that could be used for real users. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Adding captcha on account creation prevents bots from creating accounts. That's the literal point of a captcha."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Email 2FA keeps your account secure by adding a second step when signing into your account. When you want to sign in to your account, if you have Email 2FA enabled, you will need a 10-digit code sent to your inbox to complete the sign-in. No code, no sign-in."
            }
          }
        ]
      }
    ]
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreid2rakwe6u5l6kvuadnm6wpcvmhz5z2xqdy3kdnmv3rzhq57vn2am"
    },
    "mimeType": "image/webp",
    "size": 767392
  },
  "description": "",
  "publishedAt": "2026-04-29T16:06:59.769Z"
}