indiechecker

Every microformat, rel link and IndieWeb endpoint on a page.

Or paste some HTML

Summary

Checked https://aaronparecki.com/

HTTP 200 82.8 KB 1.38 s JSON Markdown

Found 76 microformats of 3 types. 0 errors 5 warnings 13 tips

Microformats

What the parser sees

h-card Aaron Parecki
p-note

Hi, I'm Aaron Parecki, Sr Director of Identity Standards at Okta, and co-founder of IndieWebCamp. I maintain oauth.net, write and consult about OAuth, and participate in the OAuth Working Group at the IETF. I also help people learn about video production and livestreaming. (detailed bio) I've been tracking my location since 2008 and I wrote 100 songs in 100 days. I've spoken at conferences around the world about owning your data, OAuth, quantified self, and explained why R is a vowel. Read more.

p-name

Aaron Parecki

p-street-address

PO Box 12433

p-locality

Portland

p-region

Oregon

p-country-name

USA

p-postal-code

97212

dt-bday

--12-28

p-org

Okta

h-card

p-role

Sr Director of Identity Standards

p-name

Okta

IndieWebCamp

h-card

p-name

IndieWebCamp

p-role

Founder

OAuth WG

h-card

p-name

OAuth WG

p-role

Editor

OpenID

h-card

p-name

OpenID

p-role

Board Member

h-entry https://aaronparecki.com/2026/11/09/11/

id="post-id-122595"

p-category

xaa

oauth

okta

mcp

dt-published

2026-11-09T21:49:03-08:00

e-content

A year and a half ago I wrote that MCP wasn't ready for the enterprise. I also said we could fix it! A year and a half later, we did! The fix is Cross-App Access. Instead of every employee clicking through an OAuth prompt for every app they connect to their AI tools, the connection goes through the company's identity provider. The admin decides which apps can talk to each other, and users never s…

HTML
A year and a half ago I wrote that MCP wasn't ready for the enterprise. I also said we could fix it! <br> <br>A year and a half later, we did! The fix is Cross-App Access. Instead of every employee clicking through an OAuth prompt for every app they connect to their AI tools, the connection goes through the company's identity provider. The admin decides which apps can talk to each other, and users never see a consent screen. That's a lot less clicking, and the IT admin finally gets to see what's connected to what. <br> <br>Back then it was a draft and a hypothetical example. Now it's shipping in over 100 places: <br> <br>• 12 identity providers issuing ID-JAGs <br>• 18 authorization servers accepting ID-JAGs <br>• 11 clients, including Claude <br>• 34 apps and MCP servers, including Atlassian, Figma, Slack and Zoom <br>• 17 gateways <br>• 23 SDKs, libraries and test tools <br> <br>This isn't one vendor's ecosystem. It's an open spec in the IETF OAuth working group, implemented independently by a lot of different companies. It's also the spec behind Enterprise-Managed Authorization in MCP. <br> <br>The OAuth working group meets next week at IETF 127 in San Francisco, where we'll work through what's left to finish the draft. The IETF runs on "rough consensus and running code", and boy do we have plenty of running code! <br> <br>Thanks to everyone who has built, tested and given feedback on this. If you've implemented it and you're not on the list, let me know and I'll add you. <br> <br><a href="https://oauth.net/cross-app-access/"><span class="protocol">https://</span>oauth.net/cross-app-access/</a>
p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-location

Portland, Oregon, USA

h-adr

p-locality

Portland

p-region

Oregon

p-country

USA

h-entry at Cafenated

id="post-id-122551"

p-name

at Cafenated

p-pk-num-coins

35

dt-published

2026-11-07T06:46:49-08:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/6aef39808d17b474178d7faa

h-card

p-name

Cafenated

p-location

San Jose, California

p-latitude

37.363026

p-longitude

-121.922654

p-location

San Jose, CA, United States

h-adr

p-locality

San Jose

p-region

CA

p-country

United States

h-entry at VTA Metro-Airport Light Rail Station

id="post-id-122522"

p-name

at VTA Metro-Airport Light Rail Station

p-pk-num-coins

10

dt-published

2026-11-06T18:01:52-08:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/4a97f353f964a520f42920e3

h-card

p-name

VTA Metro-Airport Light Rail Station

p-location

San Jose, California

p-latitude

37.369475

p-longitude

-121.915455

p-location

San Jose, CA, United States

h-adr

p-locality

San Jose

p-region

CA

p-country

United States

h-entry at Tofoo Com Chay

id="post-id-122514"

p-name

at Tofoo Com Chay

p-pk-num-coins

15

dt-published

2026-11-06T14:28:15-08:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/4a5be50af964a520eebb1fe3

h-card

p-name

Tofoo Com Chay

p-location

San Jose, California

p-latitude

37.339935

p-longitude

-121.882354

p-location

San Jose, CA, United States

h-adr

p-locality

San Jose

p-region

CA

p-country

United States

h-entry at Qishr Coffee House

id="post-id-122503"

p-name

at Qishr Coffee House

p-pk-num-coins

19

dt-published

2026-11-06T10:28:41-08:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/69a4d658367c08431b3445cb

h-card

p-name

Qishr Coffee House

p-location

San Jose, California

p-latitude

37.365316

p-longitude

-121.916097

p-location

San Jose, CA, United States

h-adr

p-locality

San Jose

p-region

CA

p-country

United States

h-entry at Springhill Suites by Marriott

id="post-id-122496"

p-name

at Springhill Suites by Marriott

p-pk-num-coins

20

dt-published

2026-11-05T23:49:28-08:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/56de6d18498edc4ae8dc48e2

h-card

p-name

Springhill Suites by Marriott

p-location

San Jose, California

p-latitude

37.366133

p-longitude

-121.913554

p-location

San Jose, CA, United States

h-adr

p-locality

San Jose

p-region

CA

p-country

United States

h-entry at Broma

id="post-id-122492"

p-name

at Broma

p-pk-num-coins

18

dt-published

2026-11-05T21:45:20-08:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/62bf982368962d40643b791e

h-card

p-name

Broma

p-location

Mountain View, California

p-latitude

37.417102

p-longitude

-122.077112

p-location

Mountain View, CA, United States

h-adr

p-locality

Mountain View

p-region

CA

p-country

United States

h-entry at Crowdstrike

id="post-id-122484"

p-name

at Crowdstrike

p-pk-num-coins

24

dt-published

2026-11-05T12:38:40-08:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/6aece94f9f02833cf660b383

h-card

p-name

Crowdstrike

p-location

Sunnyvale, California

p-latitude

37.377825

p-longitude

-122.033367

p-location

Sunnyvale, CA, United States

h-adr

p-locality

Sunnyvale

p-region

CA

p-country

United States

h-entry at Rideshare Pick-up Area

id="post-id-122481"

p-name

at Rideshare Pick-up Area

p-pk-num-coins

9

dt-published

2026-11-05T12:13:09-08:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/57ed75e3498ea530596c5804

h-card

p-name

Rideshare Pick-up Area

p-location

San Jose, California

p-latitude

37.364468

p-longitude

-121.92311

p-location

https://aaronparecki.com/2026/11/05/2/

h-card

p-name

Alaska Flight 719 PDX to SJC

p-locality

San Jose

p-region

CA

p-country

United States

h-entry at TSA Security Checkpoint B/C

id="post-id-122470"

p-name

at TSA Security Checkpoint B/C

p-pk-num-coins

10

dt-published

2026-11-05T08:00:25-08:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/4bc9cf9afb84c9b64ba11b3e

h-card

p-name

TSA Security Checkpoint B/C

p-location

Portland, Oregon

p-latitude

45.588426

p-longitude

-122.594204

p-location

Portland, OR, United States

h-adr

p-locality

Portland

p-region

OR

p-country

United States

h-entry at Portland International Airport (PDX)

id="post-id-122469"

p-name

at Portland International Airport (PDX)

p-pk-num-coins

11

dt-published

2026-11-05T07:58:41-08:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/45f412e6f964a520f6431fe3

h-card

p-name

Portland International Airport (PDX)

p-location

Portland, Oregon

p-latitude

45.589265

p-longitude

-122.59344

p-location

Portland, OR, United States

h-adr

p-locality

Portland

p-region

OR

p-country

United States

h-entry at Union Station (PDX)

id="post-id-122391"

p-name

at Union Station (PDX)

p-pk-num-coins

16

dt-published

2026-10-31T13:43:07-07:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/488a5f73f964a5204f511fe3

h-card

p-name

Union Station (PDX)

p-location

Portland, Oregon

p-latitude

45.529155

p-longitude

-122.676623

p-location

Portland, OR, United States

h-adr

p-locality

Portland

p-region

OR

p-country

United States

h-entry at Our Spot PDX

id="post-id-122389"

p-name

at Our Spot PDX

p-pk-num-coins

13

dt-published

2026-10-31T13:16:58-07:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/663a90b26fe4e26e793f4c3a

h-card

p-name

Our Spot PDX

p-location

Portland, Oregon

p-latitude

45.508667

p-longitude

-122.6741

p-location

Portland, OR, United States

h-adr

p-locality

Portland

p-region

OR

p-country

United States

h-entry https://aaronparecki.com/2026/10/31/9/

id="post-id-122385"

p-category

glimpse

dt-published

2026-10-31T12:21:03-07:00

p-location

Portland, Oregon

h-adr

p-locality

Portland

p-region

Oregon

h-entry Identity Assertion JWT Authorization Grant Draft 06

id="post-id-122371"

p-name

Identity Assertion JWT Authorization Grant Draft 06

p-summary

We've just published draft -06 of the Identity Assertion JWT Authorization Grant (ID-JAG):

p-pk-num-likes

1

p-category

xaa

id-jag

ietf

oauth

okta

dt-published

2026-10-30T17:55:21-07:00

h-entry https://aaronparecki.com/2026/10/30/16/

id="post-id-122368"

p-pk-num-likes

16

p-pk-num-replies

2

p-category

pgp

gpg

yubikey

dt-published

2026-10-30T14:49:00-07:00

e-content

My new PGP setup. A primary yubikey has my main "certify" key, which is able to certify subkeys. Two other yubikeys have duplicate copies of the same subkey. These can be used for signing and verifying. I also have a subkey on my Mac directly for day to day things like signing git commits.

HTML
My new PGP setup. A primary yubikey has my main "certify" key, which is able to certify subkeys. Two other yubikeys have duplicate copies of the same subkey. These can be used for signing and verifying. I also have a subkey on my Mac directly for day to day things like signing git commits.
p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-location

Portland, Oregon, USA

h-adr

p-locality

Portland

p-region

Oregon

p-country

USA

h-entry https://aaronparecki.com/2026/10/30/12/

id="post-id-122364"

p-pk-num-likes

2

p-pk-num-replies

1

dt-published

2026-10-30T10:23:39-07:00

e-content

I lost my calipers somewhere in my office and it's driving me absolutely crazy that I can't find them

HTML
I lost my calipers somewhere in my office and it's driving me absolutely crazy that I can't find them
p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-location

Portland, Oregon

h-adr

p-locality

Portland

p-region

Oregon

h-entry at Congressman Earl Blumenauer Bicycle And Pedestrian Bridge

id="post-id-122360"

p-name

at Congressman Earl Blumenauer Bicycle And Pedestrian Bridge

p-pk-num-coins

15

dt-published

2026-10-30T08:54:41-07:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/61639983dc321e6d7a051f9b

h-card

p-name

Congressman Earl Blumenauer Bicycle And Pedestrian Bridge

p-location

Portland, Oregon

p-latitude

45.526258

p-longitude

-122.659069

p-location

Portland, OR, United States

h-adr

p-locality

Portland

p-region

OR

p-country

United States

h-entry at Tilikum Crossing

id="post-id-122357"

p-name

at Tilikum Crossing

p-pk-num-coins

29

dt-published

2026-10-30T07:11:05-07:00

p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-checkin

https://foursquare.com/v/505e3db2e4b0cc983497e93f

h-card

p-name

Tilikum Crossing

p-location

Portland, Oregon

p-latitude

45.504878

p-longitude

-122.667105

p-location

Portland, OR, United States

h-adr

p-locality

Portland

p-region

OR

p-country

United States

h-entry https://aaronparecki.com/2026/10/29/2/

id="post-id-122339"

p-pk-num-likes

12

p-pk-num-reposts

4

p-pk-num-replies

5

p-category

gps

overland

ios

dt-published

2026-10-29T06:23:02-07:00

e-content

I'm working on a ton of updates to Overland, my GPS tracking app that saves data to your own server! Live Activity, Shortcuts & Siri, widgets, Control Center controls, saving workouts to Apple Health, custom trip modes with new icons, multiple wifi zones, saving to iCloud Drive, and custom server headers. I'd love to get a few more beta testers before I push this out to the App Store, let me know…

HTML
I'm working on a ton of updates to Overland, my GPS tracking app that saves data to your own server! <br> <br>Live Activity, Shortcuts &amp; Siri, widgets, Control Center controls, saving workouts to Apple Health, custom trip modes with new icons, multiple wifi zones, saving to iCloud Drive, and custom server headers. <br> <br>I'd love to get a few more beta testers before I push this out to the App Store, let me know if you're interested or sign up below! <br> <br><a href="https://overland.p3k.app"><span class="protocol">https://</span>overland.p3k.app</a>
p-author

https://aaronparecki.com/

h-card

p-name

Aaron Parecki

p-location

Portland, Oregon, USA

h-adr

p-locality

Portland

p-region

Oregon

p-country

USA

15 more top-level items are collapsed.

IndieWeb & rels

Representative h-card

Aaron Parecki

https://aaronparecki.com/

Hi, I'm Aaron Parecki, Sr Director of Identity Standards at Okta, and co-founder of IndieWebCamp. I maintain oauth.net, write and consult about OAuth, and participate in the OAuth Working Group at th…

Chosen because its uid and url both match the page URL.

Posts and their authors

PostPublishedAuthor
A year and a half ago I wrote that MCP wasn't ready for the enterprise. I also… 2026-11-09T21:49:03-08:00 Aaron Parecki (author property)
at Cafenated 2026-11-07T06:46:49-08:00 Aaron Parecki (author property)
at VTA Metro-Airport Light Rail Station 2026-11-06T18:01:52-08:00 Aaron Parecki (author property)
at Tofoo Com Chay 2026-11-06T14:28:15-08:00 Aaron Parecki (author property)
at Qishr Coffee House 2026-11-06T10:28:41-08:00 Aaron Parecki (author property)
at Springhill Suites by Marriott 2026-11-05T23:49:28-08:00 Aaron Parecki (author property)
at Broma 2026-11-05T21:45:20-08:00 Aaron Parecki (author property)
at Crowdstrike 2026-11-05T12:38:40-08:00 Aaron Parecki (author property)
at Rideshare Pick-up Area 2026-11-05T12:13:09-08:00 Aaron Parecki (author property)
at TSA Security Checkpoint B/C 2026-11-05T08:00:25-08:00 Aaron Parecki (author property)
at Portland International Airport (PDX) 2026-11-05T07:58:41-08:00 Aaron Parecki (author property)
at Union Station (PDX) 2026-10-31T13:43:07-07:00 Aaron Parecki (author property)
at Our Spot PDX 2026-10-31T13:16:58-07:00 Aaron Parecki (author property)
h-entry[15] 2026-10-31T12:21:03-07:00 none
Identity Assertion JWT Authorization Grant Draft 06 2026-10-30T17:55:21-07:00 none

Showing 15 of 20 posts.

IndieWeb endpoints

relLinks
hub WebSub hub
indieauth-metadata IndieAuth server metadata
authorization_endpoint IndieAuth authorization endpoint
micropub Micropub endpoint for posting from apps
microsub Microsub endpoint for readers
token_endpoint IndieAuth token endpoint
self WebSub topic URL
webmention Where to send Webmentions

Identity

Classic rel microformats

relLinks
payment rel-payment: where to pay or tip
license rel-license: the license of the content

Navigation

Page resources

Other

Metadata

title
Aaron Parecki
description
not set
lang
not set
charset
utf-8
viewport
width=device-width, initial-scale=1
canonical
not set
manifest
not set
generator
not set
robots
not set
theme-color
not set
fediverse:creator
not set

Open Graph

None.

Twitter card

None.

Feeds

robots.txt and sitemap

Icons

No icon links. Browsers will try /favicon.ico.

Advice

Errors break parsing, warnings leave something out that tools expect, and tips are nice to have. Each one comes with HTML you can adapt.

Warning

Properties outside any h-* root Microformats

These elements have microformats property classes (p-, u-, dt-, e-) but no h-* element around them, so parsers skip them. Wrap them in the right root, like h-entry or h-card.

  • <time class="dt-start" datetime="2026-11-15T09:00:00-08:00">
  • <time class="dt-end" datetime="2026-11-20T18:00:00-08:00">
<article class="h-entry">
  <!-- the p-*, u-*, dt-* and e-* elements go in here -->
</article>
Warning

h-entry without an author Microformats

Webmention receivers and readers can’t tell who wrote the post. Add a p-author h-card inside the entry, on the parent h-feed, or a rel=author link.

  • h-entry[15]
  • h-entry[16]
<a class="p-author h-card" href="https://example.com/">Your Name</a>
Warning

h-entry without content Microformats

The post has no e-content, p-name or p-summary, so there’s nothing to show.

  • h-entry[15]
<div class="e-content">…</div>
Warning

No meta description Metadata

Search engines and link previews show it under the title.

<meta name="description" content="A sentence about this page.">
Warning

No lang on <html> Metadata

Screen readers and translators need to know the language.

<html lang="en">
Tip

Several h-entry posts without an h-feed Microformats

Readers treat a page of top-level h-entry items as an implied feed, but an explicit h-feed lets you give it a name and an author.

<main class="h-feed">
  <h1 class="p-name">Posts</h1>
  <article class="h-entry">…</article>
</main>
Tip

“country” isn’t a property of h-adr Microformats

Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.

  • h-entry[2] › location
  • h-entry[3] › location
  • h-entry[4] › location
  • h-entry[5] › location
  • h-entry[6] › location
  • h-entry[7] › location
  • h-entry[8] › location
  • h-entry[9] › location
  • and 8 more
Tip

“pk-num-coins” isn’t a property of h-entry Microformats

Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.

  • h-entry[3]
  • h-entry[4]
  • h-entry[5]
  • h-entry[6]
  • h-entry[7]
  • h-entry[8]
  • h-entry[9]
  • h-entry[10]
  • and 6 more
Tip

“location” isn’t a property of h-card Microformats

Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.

  • h-entry[3] › checkin
  • h-entry[4] › checkin
  • h-entry[5] › checkin
  • h-entry[6] › checkin
  • h-entry[7] › checkin
  • h-entry[8] › checkin
  • h-entry[9] › checkin
  • h-entry[10] › checkin
  • and 6 more
Tip

“country” isn’t a property of h-card Microformats

Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.

  • h-entry[10] › location
Tip

“pk-num-likes” isn’t a property of h-entry Microformats

Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.

  • h-entry[16]
  • h-entry[17]
  • h-entry[18]
  • h-entry[21]
Tip

“pk-num-replies” isn’t a property of h-entry Microformats

Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.

  • h-entry[17]
  • h-entry[18]
  • h-entry[21]
Tip

“pk-num-reposts” isn’t a property of h-entry Microformats

Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.

  • h-entry[21]
Tip

No og:title Metadata

Link previews fall back to the page title, which may carry the site name twice.

<meta property="og:title" content="My page">
Tip

No og:image Metadata

Shared links show a bare text card without it. 1200×630 is a safe size.

<meta property="og:image" content="https://example.com/card.png">
Tip

No favicon link Metadata

Browsers fall back to /favicon.ico. An explicit link lets you use SVG or PNG.

<link rel="icon" href="/favicon.svg" type="image/svg+xml">
Tip

No apple-touch-icon Metadata

iOS and some Android launchers use it for home screen shortcuts.

<link rel="apple-touch-icon" href="/apple-touch-icon.png">
Tip

No sitemap Site

robots.txt doesn’t declare a sitemap and /sitemap.xml doesn’t answer. A sitemap lets search engines find every page, including the ones nothing links to yet.

Sitemap: https://aaronparecki.com/sitemap.xml

Raw JSON

The canonical mf2 parse is under mf2. Everything else is what this page shows. Get it straight from ?url=…&format=json.

Show JSON
{
    "url": "https://aaronparecki.com/",
    "fetch": {
        "requested": "https://aaronparecki.com/",
        "final": "https://aaronparecki.com/",
        "status": 200,
        "content-type": "text/html; charset=UTF-8",
        "bytes": 84773,
        "milliseconds": 1383,
        "redirects": []
    },
    "summary": {
        "types": {
            "h-card": 38,
            "h-entry": 20,
            "h-adr": 18
        },
        "classic": {},
        "representative-h-card": "https://aaronparecki.com/",
        "generator": null,
        "errors": 0,
        "warnings": 5,
        "tips": 13
    },
    "mf2": {
        "items": [
            {
                "type": [
                    "h-card"
                ],
                "properties": {
                    "note": [
                        "Hi, I'm Aaron Parecki, Sr Director of Identity Standards at Okta, and co-founder of IndieWebCamp. I maintain oauth.net, write and consult about OAuth, and participate in the OAuth Working Group at the IETF. I also help people learn about video production and livestreaming. (detailed bio)\nI've been tracking my location since 2008 and I wrote 100 songs in 100 days. I've spoken at conferences around the world about owning your data, OAuth, quantified self, and explained why R is a vowel. Read more."
                    ],
                    "name": [
                        "Aaron Parecki"
                    ],
                    "street-address": [
                        "PO Box 12433"
                    ],
                    "locality": [
                        "Portland"
                    ],
                    "region": [
                        "Oregon"
                    ],
                    "country-name": [
                        "USA"
                    ],
                    "postal-code": [
                        "97212"
                    ],
                    "url": [
                        "https://aaronparecki.com/"
                    ],
                    "uid": [
                        "https://aaronparecki.com/"
                    ],
                    "photo": [
                        "https://aaronparecki.com/images/profile.jpg"
                    ],
                    "bday": [
                        "--12-28"
                    ],
                    "org": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "role": [
                                    "Sr Director of Identity Standards"
                                ],
                                "name": [
                                    "Okta"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/okta.png",
                                        "alt": ""
                                    }
                                ],
                                "url": [
                                    "https://www.okta.com/"
                                ]
                            },
                            "value": "Okta"
                        },
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "IndieWebCamp"
                                ],
                                "role": [
                                    "Founder"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/indiewebcamp.png",
                                        "alt": ""
                                    }
                                ],
                                "url": [
                                    "https://indieweb.org/"
                                ]
                            },
                            "value": "IndieWebCamp"
                        },
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "OAuth WG"
                                ],
                                "role": [
                                    "Editor"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/ietf.ico",
                                        "alt": ""
                                    }
                                ],
                                "url": [
                                    "https://oauth.net"
                                ]
                            },
                            "value": "OAuth WG"
                        },
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "OpenID"
                                ],
                                "role": [
                                    "Board Member"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/openid.png",
                                        "alt": ""
                                    }
                                ],
                                "url": [
                                    "https://openid.net"
                                ]
                            },
                            "value": "OpenID"
                        }
                    ]
                }
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "category": [
                        "xaa",
                        "oauth",
                        "okta",
                        "mcp"
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/11/09/11/"
                    ],
                    "syndication": [
                        "https://lnkd.in/p/d-WbyzAB",
                        "https://micro.blog/aaronpk/100811993"
                    ],
                    "published": [
                        "2026-11-09T21:49:03-08:00"
                    ],
                    "content": [
                        {
                            "html": "A year and a half ago I wrote that MCP wasn't ready for the enterprise. I also said we could fix it! <br> <br>A year and a half later, we did! The fix is Cross-App Access. Instead of every employee clicking through an OAuth prompt for every app they connect to their AI tools, the connection goes through the company's identity provider. The admin decides which apps can talk to each other, and users never see a consent screen. That's a lot less clicking, and the IT admin finally gets to see what's connected to what. <br> <br>Back then it was a draft and a hypothetical example. Now it's shipping in over 100 places: <br> <br>• 12 identity providers issuing ID-JAGs <br>• 18 authorization servers accepting ID-JAGs <br>• 11 clients, including Claude <br>• 34 apps and MCP servers, including Atlassian, Figma, Slack and Zoom <br>• 17 gateways <br>• 23 SDKs, libraries and test tools <br> <br>This isn't one vendor's ecosystem. It's an open spec in the IETF OAuth working group, implemented independently by a lot of different companies. It's also the spec behind Enterprise-Managed Authorization in MCP. <br> <br>The OAuth working group meets next week at IETF 127 in San Francisco, where we'll work through what's left to finish the draft. The IETF runs on \"rough consensus and running code\", and boy do we have plenty of running code! <br> <br>Thanks to everyone who has built, tested and given feedback on this. If you've implemented it and you're not on the list, let me know and I'll add you. <br> <br><a href=\"https://oauth.net/cross-app-access/\"><span class=\"protocol\">https://</span>oauth.net/cross-app-access/</a>",
                            "value": "A year and a half ago I wrote that MCP wasn't ready for the enterprise. I also said we could fix it!\n\nA year and a half later, we did! The fix is Cross-App Access. Instead of every employee clicking through an OAuth prompt for every app they connect to their AI tools, the connection goes through the company's identity provider. The admin decides which apps can talk to each other, and users never see a consent screen. That's a lot less clicking, and the IT admin finally gets to see what's connected to what.\n\nBack then it was a draft and a hypothetical example. Now it's shipping in over 100 places:\n\n• 12 identity providers issuing ID-JAGs\n• 18 authorization servers accepting ID-JAGs\n• 11 clients, including Claude\n• 34 apps and MCP servers, including Atlassian, Figma, Slack and Zoom\n• 17 gateways\n• 23 SDKs, libraries and test tools\n\nThis isn't one vendor's ecosystem. It's an open spec in the IETF OAuth working group, implemented independently by a lot of different companies. It's also the spec behind Enterprise-Managed Authorization in MCP.\n\nThe OAuth working group meets next week at IETF 127 in San Francisco, where we'll work through what's left to finish the draft. The IETF runs on \"rough consensus and running code\", and boy do we have plenty of running code!\n\nThanks to everyone who has built, tested and given feedback on this. If you've implemented it and you're not on the list, let me know and I'll add you.\n\nhttps://oauth.net/cross-app-access/"
                        }
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "Portland"
                                ],
                                "region": [
                                    "Oregon"
                                ],
                                "country": [
                                    "USA"
                                ]
                            },
                            "value": "Portland, Oregon, USA"
                        }
                    ]
                },
                "id": "post-id-122595"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at Cafenated"
                    ],
                    "pk-num-coins": [
                        "35"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/11/07/11/photo.jpg",
                            "alt": ""
                        }
                    ],
                    "category": [
                        "https://anomalily.world/"
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/11/07/11/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6aef39d9e4277224e890f439",
                        "https://micro.blog/aaronpk/100705880"
                    ],
                    "published": [
                        "2026-11-07T06:46:49-08:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Cafenated"
                                ],
                                "location": [
                                    "San Jose, California"
                                ],
                                "latitude": [
                                    "37.363026"
                                ],
                                "longitude": [
                                    "-121.922654"
                                ],
                                "url": [
                                    "https://foursquare.com/v/6aef39808d17b474178d7faa"
                                ]
                            },
                            "value": "https://foursquare.com/v/6aef39808d17b474178d7faa"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "San Jose"
                                ],
                                "region": [
                                    "CA"
                                ],
                                "country": [
                                    "United States"
                                ]
                            },
                            "value": "San Jose, CA, United States"
                        }
                    ]
                },
                "id": "post-id-122551"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at VTA Metro-Airport Light Rail Station"
                    ],
                    "pk-num-coins": [
                        "10"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/11/06/25/photo.jpg",
                            "alt": ""
                        }
                    ],
                    "category": [
                        "https://anomalily.world/"
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/11/06/25/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6aee8690f2529959b73dc511",
                        "https://micro.blog/aaronpk/100657043"
                    ],
                    "published": [
                        "2026-11-06T18:01:52-08:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "VTA Metro-Airport Light Rail Station"
                                ],
                                "location": [
                                    "San Jose, California"
                                ],
                                "latitude": [
                                    "37.369475"
                                ],
                                "longitude": [
                                    "-121.915455"
                                ],
                                "url": [
                                    "https://foursquare.com/v/4a97f353f964a520f42920e3"
                                ]
                            },
                            "value": "https://foursquare.com/v/4a97f353f964a520f42920e3"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "San Jose"
                                ],
                                "region": [
                                    "CA"
                                ],
                                "country": [
                                    "United States"
                                ]
                            },
                            "value": "San Jose, CA, United States"
                        }
                    ]
                },
                "id": "post-id-122522"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at Tofoo Com Chay"
                    ],
                    "pk-num-coins": [
                        "15"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/11/06/17/photo.jpg",
                            "alt": ""
                        }
                    ],
                    "category": [
                        "https://anomalily.world/"
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/11/06/17/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6aee547ff54186746640cd69",
                        "https://micro.blog/aaronpk/100657044"
                    ],
                    "published": [
                        "2026-11-06T14:28:15-08:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Tofoo Com Chay"
                                ],
                                "location": [
                                    "San Jose, California"
                                ],
                                "latitude": [
                                    "37.339935"
                                ],
                                "longitude": [
                                    "-121.882354"
                                ],
                                "url": [
                                    "https://foursquare.com/v/4a5be50af964a520eebb1fe3"
                                ]
                            },
                            "value": "https://foursquare.com/v/4a5be50af964a520eebb1fe3"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "San Jose"
                                ],
                                "region": [
                                    "CA"
                                ],
                                "country": [
                                    "United States"
                                ]
                            },
                            "value": "San Jose, CA, United States"
                        }
                    ]
                },
                "id": "post-id-122514"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at Qishr Coffee House"
                    ],
                    "pk-num-coins": [
                        "19"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/11/06/6/photo.jpg",
                            "alt": ""
                        }
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/11/06/6/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6aee1c5961acfd3385da0812",
                        "https://micro.blog/aaronpk/100657045"
                    ],
                    "published": [
                        "2026-11-06T10:28:41-08:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Qishr Coffee House"
                                ],
                                "location": [
                                    "San Jose, California"
                                ],
                                "latitude": [
                                    "37.365316"
                                ],
                                "longitude": [
                                    "-121.916097"
                                ],
                                "url": [
                                    "https://foursquare.com/v/69a4d658367c08431b3445cb"
                                ]
                            },
                            "value": "https://foursquare.com/v/69a4d658367c08431b3445cb"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "San Jose"
                                ],
                                "region": [
                                    "CA"
                                ],
                                "country": [
                                    "United States"
                                ]
                            },
                            "value": "San Jose, CA, United States"
                        }
                    ]
                },
                "id": "post-id-122503"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at Springhill Suites by Marriott"
                    ],
                    "pk-num-coins": [
                        "20"
                    ],
                    "photo": [
                        "https://aaronparecki.com/img/620x0,q50/2026/11/05/33/photo.jpg",
                        "https://aaronparecki.com/img/620x0,q50/2026/11/05/33/photo-1.jpg"
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/11/05/33/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6aed8688eac0c65fa3cb646c",
                        "https://micro.blog/aaronpk/100657046"
                    ],
                    "published": [
                        "2026-11-05T23:49:28-08:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Springhill Suites by Marriott"
                                ],
                                "location": [
                                    "San Jose, California"
                                ],
                                "latitude": [
                                    "37.366133"
                                ],
                                "longitude": [
                                    "-121.913554"
                                ],
                                "url": [
                                    "https://foursquare.com/v/56de6d18498edc4ae8dc48e2"
                                ]
                            },
                            "value": "https://foursquare.com/v/56de6d18498edc4ae8dc48e2"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "San Jose"
                                ],
                                "region": [
                                    "CA"
                                ],
                                "country": [
                                    "United States"
                                ]
                            },
                            "value": "San Jose, CA, United States"
                        }
                    ]
                },
                "id": "post-id-122496"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at Broma"
                    ],
                    "pk-num-coins": [
                        "18"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/11/05/29/photo.jpg",
                            "alt": ""
                        }
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/11/05/29/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6aed69700630357f17d665a8",
                        "https://micro.blog/aaronpk/100657047"
                    ],
                    "published": [
                        "2026-11-05T21:45:20-08:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Broma"
                                ],
                                "location": [
                                    "Mountain View, California"
                                ],
                                "latitude": [
                                    "37.417102"
                                ],
                                "longitude": [
                                    "-122.077112"
                                ],
                                "url": [
                                    "https://foursquare.com/v/62bf982368962d40643b791e"
                                ]
                            },
                            "value": "https://foursquare.com/v/62bf982368962d40643b791e"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "Mountain View"
                                ],
                                "region": [
                                    "CA"
                                ],
                                "country": [
                                    "United States"
                                ]
                            },
                            "value": "Mountain View, CA, United States"
                        }
                    ]
                },
                "id": "post-id-122492"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at Crowdstrike"
                    ],
                    "pk-num-coins": [
                        "24"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/11/05/21/photo.jpg",
                            "alt": ""
                        }
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/11/05/21/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6aece9500bc6b87e8a6a54a4",
                        "https://micro.blog/aaronpk/100597577"
                    ],
                    "published": [
                        "2026-11-05T12:38:40-08:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Crowdstrike"
                                ],
                                "location": [
                                    "Sunnyvale, California"
                                ],
                                "latitude": [
                                    "37.377825"
                                ],
                                "longitude": [
                                    "-122.033367"
                                ],
                                "url": [
                                    "https://foursquare.com/v/6aece94f9f02833cf660b383"
                                ]
                            },
                            "value": "https://foursquare.com/v/6aece94f9f02833cf660b383"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "Sunnyvale"
                                ],
                                "region": [
                                    "CA"
                                ],
                                "country": [
                                    "United States"
                                ]
                            },
                            "value": "Sunnyvale, CA, United States"
                        }
                    ]
                },
                "id": "post-id-122484"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at Rideshare Pick-up Area"
                    ],
                    "pk-num-coins": [
                        "9"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/11/05/18/photo.jpg",
                            "alt": ""
                        }
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/11/05/18/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6aece355951c5c1da770bd20",
                        "https://micro.blog/aaronpk/100597578"
                    ],
                    "published": [
                        "2026-11-05T12:13:09-08:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Rideshare Pick-up Area"
                                ],
                                "location": [
                                    "San Jose, California"
                                ],
                                "latitude": [
                                    "37.364468"
                                ],
                                "longitude": [
                                    "-121.92311"
                                ],
                                "url": [
                                    "https://foursquare.com/v/57ed75e3498ea530596c5804"
                                ]
                            },
                            "value": "https://foursquare.com/v/57ed75e3498ea530596c5804"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Alaska Flight 719 PDX to SJC"
                                ],
                                "locality": [
                                    "San Jose"
                                ],
                                "region": [
                                    "CA"
                                ],
                                "country": [
                                    "United States"
                                ],
                                "url": [
                                    "https://aaronparecki.com/2026/11/05/2/"
                                ]
                            },
                            "value": "https://aaronparecki.com/2026/11/05/2/"
                        }
                    ]
                },
                "id": "post-id-122481"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at TSA Security Checkpoint B/C"
                    ],
                    "pk-num-coins": [
                        "10"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/11/05/7/photo.jpg",
                            "alt": ""
                        }
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/11/05/7/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6aeca8199435c5256f288b5b",
                        "https://micro.blog/aaronpk/100597579"
                    ],
                    "published": [
                        "2026-11-05T08:00:25-08:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "TSA Security Checkpoint B/C"
                                ],
                                "location": [
                                    "Portland, Oregon"
                                ],
                                "latitude": [
                                    "45.588426"
                                ],
                                "longitude": [
                                    "-122.594204"
                                ],
                                "url": [
                                    "https://foursquare.com/v/4bc9cf9afb84c9b64ba11b3e"
                                ]
                            },
                            "value": "https://foursquare.com/v/4bc9cf9afb84c9b64ba11b3e"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "Portland"
                                ],
                                "region": [
                                    "OR"
                                ],
                                "country": [
                                    "United States"
                                ]
                            },
                            "value": "Portland, OR, United States"
                        }
                    ]
                },
                "id": "post-id-122470"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at Portland International Airport (PDX)"
                    ],
                    "pk-num-coins": [
                        "11"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/11/05/6/photo.jpg",
                            "alt": ""
                        }
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/11/05/6/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6aeca7b1dcb43518db889b82",
                        "https://micro.blog/aaronpk/100597580"
                    ],
                    "published": [
                        "2026-11-05T07:58:41-08:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Portland International Airport (PDX)"
                                ],
                                "location": [
                                    "Portland, Oregon"
                                ],
                                "latitude": [
                                    "45.589265"
                                ],
                                "longitude": [
                                    "-122.59344"
                                ],
                                "url": [
                                    "https://foursquare.com/v/45f412e6f964a520f6431fe3"
                                ]
                            },
                            "value": "https://foursquare.com/v/45f412e6f964a520f6431fe3"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "Portland"
                                ],
                                "region": [
                                    "OR"
                                ],
                                "country": [
                                    "United States"
                                ]
                            },
                            "value": "Portland, OR, United States"
                        }
                    ]
                },
                "id": "post-id-122469"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at Union Station (PDX)"
                    ],
                    "pk-num-coins": [
                        "16"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/10/31/15/photo.jpg",
                            "alt": ""
                        }
                    ],
                    "category": [
                        "https://anomalily.world/"
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/10/31/15/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6ae652dbba2cdb7f2a261c1d",
                        "https://micro.blog/aaronpk/100449938"
                    ],
                    "published": [
                        "2026-10-31T13:43:07-07:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Union Station (PDX)"
                                ],
                                "location": [
                                    "Portland, Oregon"
                                ],
                                "latitude": [
                                    "45.529155"
                                ],
                                "longitude": [
                                    "-122.676623"
                                ],
                                "url": [
                                    "https://foursquare.com/v/488a5f73f964a5204f511fe3"
                                ]
                            },
                            "value": "https://foursquare.com/v/488a5f73f964a5204f511fe3"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "Portland"
                                ],
                                "region": [
                                    "OR"
                                ],
                                "country": [
                                    "United States"
                                ]
                            },
                            "value": "Portland, OR, United States"
                        }
                    ]
                },
                "id": "post-id-122391"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at Our Spot PDX"
                    ],
                    "pk-num-coins": [
                        "13"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/10/31/13/photo.jpg",
                            "alt": ""
                        }
                    ],
                    "category": [
                        "https://anomalily.world/"
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/10/31/13/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6ae64cbaf6c7341b69d97be3",
                        "https://micro.blog/aaronpk/100449939"
                    ],
                    "published": [
                        "2026-10-31T13:16:58-07:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Our Spot PDX"
                                ],
                                "location": [
                                    "Portland, Oregon"
                                ],
                                "latitude": [
                                    "45.508667"
                                ],
                                "longitude": [
                                    "-122.6741"
                                ],
                                "url": [
                                    "https://foursquare.com/v/663a90b26fe4e26e793f4c3a"
                                ]
                            },
                            "value": "https://foursquare.com/v/663a90b26fe4e26e793f4c3a"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "Portland"
                                ],
                                "region": [
                                    "OR"
                                ],
                                "country": [
                                    "United States"
                                ]
                            },
                            "value": "Portland, OR, United States"
                        }
                    ]
                },
                "id": "post-id-122389"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "category": [
                        "glimpse"
                    ],
                    "photo": [
                        "https://aaronparecki.com/img/620x0,q50/2026/10/31/9/photo.jpg",
                        "https://aaronparecki.com/img/620x0,q50/2026/10/31/9/photo-1.jpg"
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/10/31/9/"
                    ],
                    "syndication": [
                        "https://micro.blog/aaronpk/100380961"
                    ],
                    "published": [
                        "2026-10-31T12:21:03-07:00"
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "Portland"
                                ],
                                "region": [
                                    "Oregon"
                                ]
                            },
                            "value": "Portland, Oregon"
                        }
                    ]
                },
                "id": "post-id-122385"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "Identity Assertion JWT Authorization Grant Draft 06"
                    ],
                    "summary": [
                        "We've just published draft -06 of the Identity Assertion JWT Authorization Grant (ID-JAG):"
                    ],
                    "pk-num-likes": [
                        "1"
                    ],
                    "category": [
                        "xaa",
                        "id-jag",
                        "ietf",
                        "oauth",
                        "okta"
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/10/30/19/oauth-id-jag-draft-06"
                    ],
                    "syndication": [
                        "https://lnkd.in/p/gHJB3nxu",
                        "https://mailarchive.ietf.org/arch/msg/oauth/-3eHjZkoYNz0qDpviERKkheVDbI/",
                        "https://micro.blog/aaronpk/100214134"
                    ],
                    "published": [
                        "2026-10-30T17:55:21-07:00"
                    ]
                },
                "id": "post-id-122371"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "pk-num-likes": [
                        "16"
                    ],
                    "pk-num-replies": [
                        "2"
                    ],
                    "category": [
                        "pgp",
                        "gpg",
                        "yubikey"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/10/30/16/photo.jpg",
                            "alt": ""
                        }
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/10/30/16/"
                    ],
                    "syndication": [
                        "https://bsky.app/profile/aaronpk.com/post/3mz4sivqh2s2n",
                        "https://micro.blog/aaronpk/100200539"
                    ],
                    "published": [
                        "2026-10-30T14:49:00-07:00"
                    ],
                    "content": [
                        {
                            "html": "My new PGP setup. A primary yubikey has my main \"certify\" key, which is able to certify subkeys. Two other yubikeys have duplicate copies of the same subkey. These can be used for signing and verifying. I also have a subkey on my Mac directly for day to day things like signing git commits.",
                            "value": "My new PGP setup. A primary yubikey has my main \"certify\" key, which is able to certify subkeys. Two other yubikeys have duplicate copies of the same subkey. These can be used for signing and verifying. I also have a subkey on my Mac directly for day to day things like signing git commits."
                        }
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "Portland"
                                ],
                                "region": [
                                    "Oregon"
                                ],
                                "country": [
                                    "USA"
                                ]
                            },
                            "value": "Portland, Oregon, USA"
                        }
                    ]
                },
                "id": "post-id-122368"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "pk-num-likes": [
                        "2"
                    ],
                    "pk-num-replies": [
                        "1"
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/10/30/12/"
                    ],
                    "syndication": [
                        "https://bsky.app/profile/aaronpk.com/post/3mz4cbfs5v42o",
                        "https://micro.blog/aaronpk/100206205"
                    ],
                    "published": [
                        "2026-10-30T10:23:39-07:00"
                    ],
                    "content": [
                        {
                            "html": "I lost my calipers somewhere in my office and it's driving me absolutely crazy that I can't find them",
                            "value": "I lost my calipers somewhere in my office and it's driving me absolutely crazy that I can't find them"
                        }
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "Portland"
                                ],
                                "region": [
                                    "Oregon"
                                ]
                            },
                            "value": "Portland, Oregon"
                        }
                    ]
                },
                "id": "post-id-122364"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at Congressman Earl Blumenauer Bicycle And Pedestrian Bridge"
                    ],
                    "pk-num-coins": [
                        "15"
                    ],
                    "photo": [
                        "https://aaronparecki.com/img/620x0,q50/2026/10/30/8/photo.jpg",
                        "https://aaronparecki.com/img/620x0,q50/2026/10/30/8/photo-1.jpg"
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/10/30/8/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6ae4bdc15d6f987eb071cf6d",
                        "https://micro.blog/aaronpk/100200540"
                    ],
                    "published": [
                        "2026-10-30T08:54:41-07:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Congressman Earl Blumenauer Bicycle And Pedestrian Bridge"
                                ],
                                "location": [
                                    "Portland, Oregon"
                                ],
                                "latitude": [
                                    "45.526258"
                                ],
                                "longitude": [
                                    "-122.659069"
                                ],
                                "url": [
                                    "https://foursquare.com/v/61639983dc321e6d7a051f9b"
                                ]
                            },
                            "value": "https://foursquare.com/v/61639983dc321e6d7a051f9b"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "Portland"
                                ],
                                "region": [
                                    "OR"
                                ],
                                "country": [
                                    "United States"
                                ]
                            },
                            "value": "Portland, OR, United States"
                        }
                    ]
                },
                "id": "post-id-122360"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "name": [
                        "at Tilikum Crossing"
                    ],
                    "pk-num-coins": [
                        "29"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/10/30/5/photo.jpg",
                            "alt": ""
                        }
                    ],
                    "category": [
                        "https://anomalily.world/",
                        "https://foursquare.com/user/207291"
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/10/30/5/"
                    ],
                    "syndication": [
                        "https://www.swarmapp.com/user/59164/checkin/6ae4a5791d26765ef3faf74a",
                        "https://micro.blog/aaronpk/100200541"
                    ],
                    "published": [
                        "2026-10-30T07:11:05-07:00"
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "checkin": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Tilikum Crossing"
                                ],
                                "location": [
                                    "Portland, Oregon"
                                ],
                                "latitude": [
                                    "45.504878"
                                ],
                                "longitude": [
                                    "-122.667105"
                                ],
                                "url": [
                                    "https://foursquare.com/v/505e3db2e4b0cc983497e93f"
                                ]
                            },
                            "value": "https://foursquare.com/v/505e3db2e4b0cc983497e93f"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "Portland"
                                ],
                                "region": [
                                    "OR"
                                ],
                                "country": [
                                    "United States"
                                ]
                            },
                            "value": "Portland, OR, United States"
                        }
                    ]
                },
                "id": "post-id-122357"
            },
            {
                "type": [
                    "h-entry"
                ],
                "properties": {
                    "pk-num-likes": [
                        "12"
                    ],
                    "pk-num-reposts": [
                        "4"
                    ],
                    "pk-num-replies": [
                        "5"
                    ],
                    "category": [
                        "gps",
                        "overland",
                        "ios"
                    ],
                    "photo": [
                        {
                            "value": "https://aaronparecki.com/img/620x0,q30/2026/10/29/2/photo-4058.png",
                            "alt": ""
                        }
                    ],
                    "url": [
                        "https://aaronparecki.com/2026/10/29/2/"
                    ],
                    "syndication": [
                        "https://news.indieweb.org/en/aaronparecki.com/2026/10/29/2/",
                        "https://bsky.app/profile/aaronpk.com/post/3myzeeaoaa22i",
                        "https://bsky.app/profile/aaronpk.com/post/3myzeeasf222i",
                        "https://micro.blog/aaronpk/100131463"
                    ],
                    "published": [
                        "2026-10-29T06:23:02-07:00"
                    ],
                    "content": [
                        {
                            "html": "I'm working on a ton of updates to Overland, my GPS tracking app that saves data to your own server! <br> <br>Live Activity, Shortcuts &amp; Siri, widgets, Control Center controls, saving workouts to Apple Health, custom trip modes with new icons, multiple wifi zones, saving to iCloud Drive, and custom server headers. <br> <br>I'd love to get a few more beta testers before I push this out to the App Store, let me know if you're interested or sign up below! <br> <br><a href=\"https://overland.p3k.app\"><span class=\"protocol\">https://</span>overland.p3k.app</a>",
                            "value": "I'm working on a ton of updates to Overland, my GPS tracking app that saves data to your own server!\n\nLive Activity, Shortcuts & Siri, widgets, Control Center controls, saving workouts to Apple Health, custom trip modes with new icons, multiple wifi zones, saving to iCloud Drive, and custom server headers.\n\nI'd love to get a few more beta testers before I push this out to the App Store, let me know if you're interested or sign up below!\n\nhttps://overland.p3k.app"
                        }
                    ],
                    "author": [
                        {
                            "type": [
                                "h-card"
                            ],
                            "properties": {
                                "name": [
                                    "Aaron Parecki"
                                ],
                                "url": [
                                    "https://aaronparecki.com/"
                                ],
                                "photo": [
                                    {
                                        "value": "https://aaronparecki.com/images/profile.jpg",
                                        "alt": "Aaron Parecki"
                                    }
                                ]
                            },
                            "value": "https://aaronparecki.com/"
                        }
                    ],
                    "location": [
                        {
                            "type": [
                                "h-adr"
                            ],
                            "properties": {
                                "locality": [
                                    "Portland"
                                ],
                                "region": [
                                    "Oregon"
                                ],
                                "country": [
                                    "USA"
                                ]
                            },
                            "value": "Portland, Oregon, USA"
                        }
                    ]
                },
                "id": "post-id-122339"
            }
        ],
        "rels": {
            "indieauth-metadata": [
                "https://aaronparecki.com/.well-known/openid-configuration"
            ],
            "authorization_endpoint": [
                "https://aaronparecki.com/auth"
            ],
            "token_endpoint": [
                "https://aaronparecki.com/auth/token"
            ],
            "micropub": [
                "https://aaronparecki.com/micropub"
            ],
            "microsub": [
                "https://aperture.p3k.io/microsub/1"
            ],
            "feed": [
                "https://aaronparecki.com/syndicated",
                "https://aaronparecki.com/all"
            ],
            "alternate": [
                "https://aaronparecki.com/primary.jf2",
                "https://aaronparecki.com/feed.json",
                "https://aaronparecki.com/feed.xml"
            ],
            "webmention": [
                "https://webmention.io/aaronpk/webmention"
            ],
            "stylesheet": [
                "https://aaronparecki.com/assets/font.css",
                "https://aaronparecki.com/semantic/2.2.6/semantic.min.css",
                "https://aaronparecki.com/assets/icomoon/style.css",
                "https://aaronparecki.com/assets/weather-icons/css/weather-icons.css",
                "https://aaronparecki.com/assets/featherlight-1.5.0/featherlight.min.css",
                "https://aaronparecki.com/assets/admin.2.css",
                "https://aaronparecki.com/assets/pulse.css",
                "https://aaronparecki.com/assets/styles.8.css",
                "https://aaronparecki.com/site/styles.2.css",
                "https://aaronparecki.com/assets/carbon.css",
                "https://aaronparecki.com/assets/story.css"
            ],
            "openid.delegate": [
                "https://aaronparecki.com/"
            ],
            "openid.server": [
                "https://indieauth.com/openid"
            ],
            "pgpkey": [
                "https://aaronparecki.com/key.txt"
            ],
            "me": [
                "sms:+15035678642",
                "https://micro.blog/aaronpk",
                "https://github.com/aaronpk",
                "https://youtube.com/aaronpk",
                "http://foursquare.com/aaronpk",
                "http://www.linkedin.com/in/aaronparecki",
                "https://instagram.com/aaronpk_tv",
                "http://flickr.com/aaronpk",
                "https://speakerdeck.com/aaronpk",
                "http://www.slideshare.net/aaronpk",
                "http://www.last.fm/user/aaron_pk",
                "https://kit.co/aaronpk",
                "https://www.duolingo.com/profile/aaronpk",
                "https://www.w3.org/users/59996",
                "https://en.wikipedia.org/wiki/User:Aaronpk",
                "https://codeberg.org/aaronpk",
                "https://u.wechat.com/kKChiO-sSbgJQFf0UJrpHhE",
                "https://www.amazon.com/shop/aaronparecki",
                "https://www.amazon.com/gp/profile/amzn1.account.AHJ2OJ7NXSYM23FDDEDVZV2UR4MA",
                "https://aaronparecki.com/aaronpk",
                "https://bsky.app/profile/aaronpk.com",
                "https://cash.me/$aaronpk",
                "https://venmo.com/aaronpk",
                "https://paypal.me/apk",
                "mailto:aaron@parecki.com"
            ],
            "prev": [
                "https://aaronparecki.com/?before=20261029T062302-0700"
            ],
            "payment": [
                "https://cash.me/$aaronpk",
                "https://venmo.com/aaronpk",
                "https://paypal.me/apk"
            ],
            "license": [
                "http://creativecommons.org/licenses/by/3.0/"
            ]
        },
        "rel-urls": {
            "https://aaronparecki.com/.well-known/openid-configuration": {
                "rels": [
                    "indieauth-metadata"
                ]
            },
            "https://aaronparecki.com/auth": {
                "rels": [
                    "authorization_endpoint"
                ]
            },
            "https://aaronparecki.com/auth/token": {
                "rels": [
                    "token_endpoint"
                ]
            },
            "https://aaronparecki.com/micropub": {
                "rels": [
                    "micropub"
                ]
            },
            "https://aperture.p3k.io/microsub/1": {
                "rels": [
                    "microsub"
                ]
            },
            "https://aaronparecki.com/syndicated": {
                "rels": [
                    "feed"
                ]
            },
            "https://aaronparecki.com/all": {
                "rels": [
                    "feed"
                ]
            },
            "https://aaronparecki.com/primary.jf2": {
                "type": "application/jf2feed+json",
                "rels": [
                    "alternate"
                ]
            },
            "https://aaronparecki.com/feed.json": {
                "type": "application/json",
                "rels": [
                    "alternate"
                ]
            },
            "https://aaronparecki.com/feed.xml": {
                "type": "application/atom+xml",
                "rels": [
                    "alternate"
                ]
            },
            "https://webmention.io/aaronpk/webmention": {
                "rels": [
                    "webmention"
                ]
            },
            "https://aaronparecki.com/assets/font.css": {
                "type": "text/css",
                "rels": [
                    "stylesheet"
                ]
            },
            "https://aaronparecki.com/semantic/2.2.6/semantic.min.css": {
                "type": "text/css",
                "rels": [
                    "stylesheet"
                ]
            },
            "https://aaronparecki.com/assets/icomoon/style.css": {
                "rels": [
                    "stylesheet"
                ]
            },
            "https://aaronparecki.com/assets/weather-icons/css/weather-icons.css": {
                "rels": [
                    "stylesheet"
                ]
            },
            "https://aaronparecki.com/assets/featherlight-1.5.0/featherlight.min.css": {
                "rels": [
                    "stylesheet"
                ]
            },
            "https://aaronparecki.com/assets/admin.2.css": {
                "rels": [
                    "stylesheet"
                ]
            },
            "https://aaronparecki.com/assets/pulse.css": {
                "rels": [
                    "stylesheet"
                ]
            },
            "https://aaronparecki.com/assets/styles.8.css": {
                "rels": [
                    "stylesheet"
                ]
            },
            "https://aaronparecki.com/site/styles.2.css": {
                "rels": [
                    "stylesheet"
                ]
            },
            "https://aaronparecki.com/assets/carbon.css": {
                "rels": [
                    "stylesheet"
                ]
            },
            "https://aaronparecki.com/assets/story.css": {
                "rels": [
                    "stylesheet"
                ]
            },
            "https://aaronparecki.com/": {
                "rels": [
                    "openid.delegate"
                ]
            },
            "https://indieauth.com/openid": {
                "rels": [
                    "openid.server"
                ]
            },
            "https://aaronparecki.com/key.txt": {
                "rels": [
                    "pgpkey"
                ]
            },
            "sms:+15035678642": {
                "rels": [
                    "me"
                ]
            },
            "https://micro.blog/aaronpk": {
                "rels": [
                    "me"
                ]
            },
            "https://aaronparecki.com/?before=20261029T062302-0700": {
                "text": "older",
                "rels": [
                    "prev"
                ]
            },
            "https://github.com/aaronpk": {
                "rels": [
                    "me"
                ]
            },
            "https://youtube.com/aaronpk": {
                "rels": [
                    "me"
                ]
            },
            "http://foursquare.com/aaronpk": {
                "rels": [
                    "me"
                ]
            },
            "http://www.linkedin.com/in/aaronparecki": {
                "rels": [
                    "me"
                ]
            },
            "https://instagram.com/aaronpk_tv": {
                "rels": [
                    "me"
                ]
            },
            "http://flickr.com/aaronpk": {
                "rels": [
                    "me"
                ]
            },
            "https://speakerdeck.com/aaronpk": {
                "rels": [
                    "me"
                ]
            },
            "http://www.slideshare.net/aaronpk": {
                "rels": [
                    "me"
                ]
            },
            "http://www.last.fm/user/aaron_pk": {
                "rels": [
                    "me"
                ]
            },
            "https://kit.co/aaronpk": {
                "rels": [
                    "me"
                ]
            },
            "https://www.duolingo.com/profile/aaronpk": {
                "rels": [
                    "me"
                ]
            },
            "https://www.w3.org/users/59996": {
                "rels": [
                    "me"
                ]
            },
            "https://en.wikipedia.org/wiki/User:Aaronpk": {
                "rels": [
                    "me"
                ]
            },
            "https://codeberg.org/aaronpk": {
                "rels": [
                    "me"
                ]
            },
            "https://u.wechat.com/kKChiO-sSbgJQFf0UJrpHhE": {
                "rels": [
                    "me"
                ]
            },
            "https://www.amazon.com/shop/aaronparecki": {
                "rels": [
                    "me"
                ]
            },
            "https://www.amazon.com/gp/profile/amzn1.account.AHJ2OJ7NXSYM23FDDEDVZV2UR4MA": {
                "rels": [
                    "me"
                ]
            },
            "https://aaronparecki.com/aaronpk": {
                "rels": [
                    "me"
                ]
            },
            "https://bsky.app/profile/aaronpk.com": {
                "rels": [
                    "me"
                ]
            },
            "https://cash.me/$aaronpk": {
                "rels": [
                    "me",
                    "payment"
                ]
            },
            "https://venmo.com/aaronpk": {
                "rels": [
                    "me",
                    "payment"
                ]
            },
            "https://paypal.me/apk": {
                "rels": [
                    "me",
                    "payment"
                ]
            },
            "mailto:aaron@parecki.com": {
                "rels": [
                    "me"
                ]
            },
            "http://creativecommons.org/licenses/by/3.0/": {
                "text": "Creative Commons Attribution 3.0 License",
                "rels": [
                    "license"
                ]
            }
        }
    },
    "indieweb": [
        {
            "label": "Representative h-card",
            "ok": true,
            "detail": "Found: its uid and url both match the page URL."
        },
        {
            "label": "rel=me links",
            "ok": true,
            "detail": "25 profile link(s).",
            "links": [
                "sms:+15035678642",
                "https://micro.blog/aaronpk",
                "https://github.com/aaronpk",
                "https://youtube.com/aaronpk",
                "http://foursquare.com/aaronpk",
                "http://www.linkedin.com/in/aaronparecki",
                "https://instagram.com/aaronpk_tv",
                "http://flickr.com/aaronpk",
                "https://speakerdeck.com/aaronpk",
                "http://www.slideshare.net/aaronpk",
                "http://www.last.fm/user/aaron_pk",
                "https://kit.co/aaronpk",
                "https://www.duolingo.com/profile/aaronpk",
                "https://www.w3.org/users/59996",
                "https://en.wikipedia.org/wiki/User:Aaronpk",
                "https://codeberg.org/aaronpk",
                "https://u.wechat.com/kKChiO-sSbgJQFf0UJrpHhE",
                "https://www.amazon.com/shop/aaronparecki",
                "https://www.amazon.com/gp/profile/amzn1.account.AHJ2OJ7NXSYM23FDDEDVZV2UR4MA",
                "https://aaronparecki.com/aaronpk",
                "https://bsky.app/profile/aaronpk.com",
                "https://cash.me/$aaronpk",
                "https://venmo.com/aaronpk",
                "https://paypal.me/apk",
                "mailto:aaron@parecki.com"
            ]
        },
        {
            "label": "Webmention endpoint",
            "ok": true,
            "detail": "Found in the HTML.",
            "links": [
                "https://webmention.io/aaronpk/webmention"
            ]
        },
        {
            "label": "IndieAuth",
            "ok": true,
            "detail": "Metadata endpoint found in the HTTP Link header.",
            "links": [
                "https://aaronparecki.com/.well-known/openid-configuration",
                "https://aaronparecki.com/auth",
                "https://aaronparecki.com/auth/token"
            ]
        },
        {
            "label": "Micropub endpoint",
            "ok": true,
            "detail": "Found in the HTTP Link header.",
            "links": [
                "https://aaronparecki.com/micropub"
            ]
        },
        {
            "label": "Microsub endpoint",
            "ok": true,
            "detail": "Found in the HTTP Link header.",
            "links": [
                "https://aperture.p3k.io/microsub/1"
            ]
        },
        {
            "label": "WebSub hub",
            "ok": true,
            "detail": "Found in the HTTP Link header.",
            "links": [
                "https://switchboard.p3k.io/"
            ]
        },
        {
            "label": "Posts with an author",
            "ok": false,
            "detail": "18 of 20 h-entry post(s) have an author."
        }
    ],
    "rels": {
        "html": {
            "indieauth-metadata": [
                "https://aaronparecki.com/.well-known/openid-configuration"
            ],
            "authorization_endpoint": [
                "https://aaronparecki.com/auth"
            ],
            "token_endpoint": [
                "https://aaronparecki.com/auth/token"
            ],
            "micropub": [
                "https://aaronparecki.com/micropub"
            ],
            "microsub": [
                "https://aperture.p3k.io/microsub/1"
            ],
            "feed": [
                "https://aaronparecki.com/syndicated",
                "https://aaronparecki.com/all"
            ],
            "alternate": [
                "https://aaronparecki.com/primary.jf2",
                "https://aaronparecki.com/feed.json",
                "https://aaronparecki.com/feed.xml"
            ],
            "webmention": [
                "https://webmention.io/aaronpk/webmention"
            ],
            "stylesheet": [
                "https://aaronparecki.com/assets/font.css",
                "https://aaronparecki.com/semantic/2.2.6/semantic.min.css",
                "https://aaronparecki.com/assets/icomoon/style.css",
                "https://aaronparecki.com/assets/weather-icons/css/weather-icons.css",
                "https://aaronparecki.com/assets/featherlight-1.5.0/featherlight.min.css",
                "https://aaronparecki.com/assets/admin.2.css",
                "https://aaronparecki.com/assets/pulse.css",
                "https://aaronparecki.com/assets/styles.8.css",
                "https://aaronparecki.com/site/styles.2.css",
                "https://aaronparecki.com/assets/carbon.css",
                "https://aaronparecki.com/assets/story.css"
            ],
            "openid.delegate": [
                "https://aaronparecki.com/"
            ],
            "openid.server": [
                "https://indieauth.com/openid"
            ],
            "pgpkey": [
                "https://aaronparecki.com/key.txt"
            ],
            "me": [
                "sms:+15035678642",
                "https://micro.blog/aaronpk",
                "https://github.com/aaronpk",
                "https://youtube.com/aaronpk",
                "http://foursquare.com/aaronpk",
                "http://www.linkedin.com/in/aaronparecki",
                "https://instagram.com/aaronpk_tv",
                "http://flickr.com/aaronpk",
                "https://speakerdeck.com/aaronpk",
                "http://www.slideshare.net/aaronpk",
                "http://www.last.fm/user/aaron_pk",
                "https://kit.co/aaronpk",
                "https://www.duolingo.com/profile/aaronpk",
                "https://www.w3.org/users/59996",
                "https://en.wikipedia.org/wiki/User:Aaronpk",
                "https://codeberg.org/aaronpk",
                "https://u.wechat.com/kKChiO-sSbgJQFf0UJrpHhE",
                "https://www.amazon.com/shop/aaronparecki",
                "https://www.amazon.com/gp/profile/amzn1.account.AHJ2OJ7NXSYM23FDDEDVZV2UR4MA",
                "https://aaronparecki.com/aaronpk",
                "https://bsky.app/profile/aaronpk.com",
                "https://cash.me/$aaronpk",
                "https://venmo.com/aaronpk",
                "https://paypal.me/apk",
                "mailto:aaron@parecki.com"
            ],
            "prev": [
                "https://aaronparecki.com/?before=20261029T062302-0700"
            ],
            "payment": [
                "https://cash.me/$aaronpk",
                "https://venmo.com/aaronpk",
                "https://paypal.me/apk"
            ],
            "license": [
                "http://creativecommons.org/licenses/by/3.0/"
            ]
        },
        "link-header": {
            "hub": [
                "https://switchboard.p3k.io/"
            ],
            "indieauth-metadata": [
                "https://aaronparecki.com/.well-known/openid-configuration"
            ],
            "authorization_endpoint": [
                "https://aaronparecki.com/auth"
            ],
            "micropub": [
                "https://aaronparecki.com/micropub"
            ],
            "microsub": [
                "https://aperture.p3k.io/microsub/1"
            ],
            "token_endpoint": [
                "https://aaronparecki.com/auth/token"
            ],
            "self": [
                "https://aaronparecki.com/"
            ]
        },
        "xfn": [],
        "vote-links": []
    },
    "metadata": {
        "title": "Aaron Parecki",
        "description": null,
        "lang": null,
        "charset": "utf-8",
        "viewport": "width=device-width, initial-scale=1",
        "canonical": null,
        "generator": null,
        "robots": null,
        "theme-color": [],
        "open-graph": [],
        "twitter": [],
        "fediverse:creator": [],
        "feeds": [
            {
                "url": "https://aaronparecki.com/feed.json",
                "format": "JSON Feed",
                "type": "application/json",
                "title": null
            },
            {
                "url": "https://aaronparecki.com/feed.xml",
                "format": "Atom",
                "type": "application/atom+xml",
                "title": null
            },
            {
                "url": "https://aaronparecki.com/syndicated",
                "format": "h-feed (rel=feed)",
                "type": "text/html",
                "title": null
            },
            {
                "url": "https://aaronparecki.com/all",
                "format": "h-feed (rel=feed)",
                "type": "text/html",
                "title": null
            }
        ],
        "icons": [],
        "manifest": null
    },
    "feed-checks": [
        {
            "url": "https://aaronparecki.com/feed.json",
            "ok": true,
            "problem": null,
            "status": 200,
            "content-type": "application/json"
        },
        {
            "url": "https://aaronparecki.com/feed.xml",
            "ok": true,
            "problem": null,
            "status": 200,
            "content-type": "application/atom+xml"
        },
        {
            "url": "https://aaronparecki.com/syndicated",
            "ok": true,
            "problem": null,
            "status": 200,
            "content-type": "text/html"
        },
        {
            "url": "https://aaronparecki.com/all",
            "ok": true,
            "problem": null,
            "status": 200,
            "content-type": "text/html"
        }
    ],
    "robots": {
        "url": "https://aaronparecki.com/robots.txt",
        "found": true,
        "unavailable": false,
        "status": 200,
        "blocks-all": false,
        "sitemaps": [],
        "fallback-sitemap": {
            "url": "https://aaronparecki.com/sitemap.xml",
            "ok": false,
            "missing": true,
            "status": 404
        }
    },
    "domain": {
        "https": true,
        "canonical-host": null,
        "canonical-matches": null,
        "variant": null
    },
    "advice": [
        {
            "level": "warning",
            "area": "Microformats",
            "title": "Properties outside any h-* root",
            "detail": "These elements have microformats property classes (p-, u-, dt-, e-) but no h-* element around them, so parsers skip them. Wrap them in the right root, like h-entry or h-card.",
            "fix": "<article class=\"h-entry\">\n  <!-- the p-*, u-*, dt-* and e-* elements go in here -->\n</article>",
            "where": [
                "<time class=\"dt-start\" datetime=\"2026-11-15T09:00:00-08:00\">",
                "<time class=\"dt-end\" datetime=\"2026-11-20T18:00:00-08:00\">"
            ]
        },
        {
            "level": "warning",
            "area": "Microformats",
            "title": "h-entry without an author",
            "detail": "Webmention receivers and readers can’t tell who wrote the post. Add a p-author h-card inside the entry, on the parent h-feed, or a rel=author link.",
            "fix": "<a class=\"p-author h-card\" href=\"https://example.com/\">Your Name</a>",
            "where": [
                "h-entry[15]",
                "h-entry[16]"
            ]
        },
        {
            "level": "warning",
            "area": "Microformats",
            "title": "h-entry without content",
            "detail": "The post has no e-content, p-name or p-summary, so there’s nothing to show.",
            "fix": "<div class=\"e-content\">…</div>",
            "where": [
                "h-entry[15]"
            ]
        },
        {
            "level": "warning",
            "area": "Metadata",
            "title": "No meta description",
            "detail": "Search engines and link previews show it under the title.",
            "fix": "<meta name=\"description\" content=\"A sentence about this page.\">",
            "where": []
        },
        {
            "level": "warning",
            "area": "Metadata",
            "title": "No lang on <html>",
            "detail": "Screen readers and translators need to know the language.",
            "fix": "<html lang=\"en\">",
            "where": []
        },
        {
            "level": "tip",
            "area": "Microformats",
            "title": "Several h-entry posts without an h-feed",
            "detail": "Readers treat a page of top-level h-entry items as an implied feed, but an explicit h-feed lets you give it a name and an author.",
            "fix": "<main class=\"h-feed\">\n  <h1 class=\"p-name\">Posts</h1>\n  <article class=\"h-entry\">…</article>\n</main>",
            "where": []
        },
        {
            "level": "tip",
            "area": "Microformats",
            "title": "“country” isn’t a property of h-adr",
            "detail": "Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.",
            "fix": null,
            "where": [
                "h-entry[2] › location",
                "h-entry[3] › location",
                "h-entry[4] › location",
                "h-entry[5] › location",
                "h-entry[6] › location",
                "h-entry[7] › location",
                "h-entry[8] › location",
                "h-entry[9] › location",
                "h-entry[11] › location",
                "h-entry[12] › location",
                "h-entry[13] › location",
                "h-entry[14] › location",
                "h-entry[17] › location",
                "h-entry[19] › location",
                "h-entry[20] › location",
                "h-entry[21] › location"
            ]
        },
        {
            "level": "tip",
            "area": "Microformats",
            "title": "“pk-num-coins” isn’t a property of h-entry",
            "detail": "Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.",
            "fix": null,
            "where": [
                "h-entry[3]",
                "h-entry[4]",
                "h-entry[5]",
                "h-entry[6]",
                "h-entry[7]",
                "h-entry[8]",
                "h-entry[9]",
                "h-entry[10]",
                "h-entry[11]",
                "h-entry[12]",
                "h-entry[13]",
                "h-entry[14]",
                "h-entry[19]",
                "h-entry[20]"
            ]
        },
        {
            "level": "tip",
            "area": "Microformats",
            "title": "“location” isn’t a property of h-card",
            "detail": "Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.",
            "fix": null,
            "where": [
                "h-entry[3] › checkin",
                "h-entry[4] › checkin",
                "h-entry[5] › checkin",
                "h-entry[6] › checkin",
                "h-entry[7] › checkin",
                "h-entry[8] › checkin",
                "h-entry[9] › checkin",
                "h-entry[10] › checkin",
                "h-entry[11] › checkin",
                "h-entry[12] › checkin",
                "h-entry[13] › checkin",
                "h-entry[14] › checkin",
                "h-entry[19] › checkin",
                "h-entry[20] › checkin"
            ]
        },
        {
            "level": "tip",
            "area": "Microformats",
            "title": "“country” isn’t a property of h-card",
            "detail": "Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.",
            "fix": null,
            "where": [
                "h-entry[10] › location"
            ]
        },
        {
            "level": "tip",
            "area": "Microformats",
            "title": "“pk-num-likes” isn’t a property of h-entry",
            "detail": "Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.",
            "fix": null,
            "where": [
                "h-entry[16]",
                "h-entry[17]",
                "h-entry[18]",
                "h-entry[21]"
            ]
        },
        {
            "level": "tip",
            "area": "Microformats",
            "title": "“pk-num-replies” isn’t a property of h-entry",
            "detail": "Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.",
            "fix": null,
            "where": [
                "h-entry[17]",
                "h-entry[18]",
                "h-entry[21]"
            ]
        },
        {
            "level": "tip",
            "area": "Microformats",
            "title": "“pk-num-reposts” isn’t a property of h-entry",
            "detail": "Consumers won’t look for it. Check the spelling against the vocabulary, or prefix experiments with x-.",
            "fix": null,
            "where": [
                "h-entry[21]"
            ]
        },
        {
            "level": "tip",
            "area": "Metadata",
            "title": "No og:title",
            "detail": "Link previews fall back to the page title, which may carry the site name twice.",
            "fix": "<meta property=\"og:title\" content=\"My page\">",
            "where": []
        },
        {
            "level": "tip",
            "area": "Metadata",
            "title": "No og:image",
            "detail": "Shared links show a bare text card without it. 1200×630 is a safe size.",
            "fix": "<meta property=\"og:image\" content=\"https://example.com/card.png\">",
            "where": []
        },
        {
            "level": "tip",
            "area": "Metadata",
            "title": "No favicon link",
            "detail": "Browsers fall back to /favicon.ico. An explicit link lets you use SVG or PNG.",
            "fix": "<link rel=\"icon\" href=\"/favicon.svg\" type=\"image/svg+xml\">",
            "where": []
        },
        {
            "level": "tip",
            "area": "Metadata",
            "title": "No apple-touch-icon",
            "detail": "iOS and some Android launchers use it for home screen shortcuts.",
            "fix": "<link rel=\"apple-touch-icon\" href=\"/apple-touch-icon.png\">",
            "where": []
        },
        {
            "level": "tip",
            "area": "Site",
            "title": "No sitemap",
            "detail": "robots.txt doesn’t declare a sitemap and /sitemap.xml doesn’t answer. A sitemap lets search engines find every page, including the ones nothing links to yet.",
            "fix": "Sitemap: https://aaronparecki.com/sitemap.xml",
            "where": []
        }
    ]
}