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 & 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": []
}
]
}