<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>credctl uses your laptop&#39;s Secure Enclave to create hardware-bound device identities that replace long-lived cloud access keys with short-lived credentials. No plaintext keys on disk. Ever.&#xA;&#xA;https://credctl.com</description><link>https://bsky.app/profile/credctl.com</link><title>@credctl.com - Credctl.com</title><item><link>https://bsky.app/profile/credctl.com/post/3mlqb2rjq5y2n</link><description>Wrote up how the Secure Enclave handles AWS auth: cgo to Apple&#39;s Security framework, ECDSA P-256 in hardware, OIDC federation, Touch ID per signing.&#xA;&#xA;CFDictionary lifecycle was the most painful part.&#xA;&#xA;https://credctl.com/blog/secure-enclave-deep-dive/</description><pubDate>13 May 2026 12:02 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mlqb2rjq5y2n</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mlla4r3oha2y</link><description>New post: credctl vs HashiCorp Vault — not a replacement.&#xA;&#xA;Vault is a centralised secrets manager. credctl handles laptop-to-cloud auth via hardware-bound keys. You can chain them via Vault&#39;s JWT auth method.&#xA;&#xA;https://credctl.com/blog/credctl-vs-hashicorp-vault/</description><pubDate>11 May 2026 12:02 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mlla4r3oha2y</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mldopjes4b2o</link><description>Working on the team-broker design for credctl. Single-developer use is solved — install CLI, federate, done.&#xA;&#xA;Harder problem: a team with policy (&#34;only seniors can assume prod&#34;), audit (who assumed what when), and device fleet management.&#xA;&#xA;Most-asked-for feature so far.</description><pubDate>08 May 2026 12:02 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mldopjes4b2o</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3ml6nthp3hk2x</link><description>A design choice that surprised me: AWS, GCP, and Azure all converged on accepting the same OIDC token format. Same JWT, same claims, same JWKS discovery.&#xA;&#xA;Different APIs, same wire protocol. One identity, three clouds. The federation interop story is genuinely good.</description><pubDate>06 May 2026 12:03 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3ml6nthp3hk2x</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mkzmwjmlcy27</link><description>New post: credctl vs aws-vault — when to use each.&#xA;&#xA;Honest comparison, including where aws-vault is the better choice (Linux/Windows, AWS SSO, existing setups).&#xA;&#xA;Same goal, different security model.&#xA;&#xA;https://credctl.com/blog/credctl-vs-aws-vault/</description><pubDate>04 May 2026 12:03 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mkzmwjmlcy27</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mks3g4arcm2j</link><description>Spending evenings on TPM 2.0 integration for Linux. Same architecture as Secure Enclave on macOS — generate a non-extractable signing key, sign JWTs, federate to AWS.&#xA;&#xA;cgo equivalent: tpm2-tss bindings. Different chip family, same shape of problem.</description><pubDate>01 May 2026 12:01 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mks3g4arcm2j</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mkpky2g5s22q</link><description>aws-vault solved the plaintext-keys problem in 2014 by encrypting them in the OS keychain. Real improvement — orders of magnitude better than ~/.aws/credentials.&#xA;&#xA;Hardware-bound credentials go one step further: the long-lived material lives in a chip that can&#39;t export it.</description><pubDate>30 Apr 2026 12:02 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mkpky2g5s22q</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mkkjzejtqc2s</link><description>SPIFFE works great in Kubernetes. Pods get short-lived JWTs from the cluster&#39;s signer, federate to the cloud, never see a long-lived credential.&#xA;&#xA;Then you hit a dev laptop with a long-lived IAM key in ~/.aws/credentials. Same person, totally different security posture.</description><pubDate>28 Apr 2026 12:01 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mkkjzejtqc2s</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mkhzjl5um52v</link><description>Vercel breach in one line: bearer secrets work from anywhere — which is why &#34;rotate everything&#34; is the only safe response after a platform breach.&#xA;&#xA;If they weren&#39;t bearer secrets, there&#39;d be nothing to rotate.&#xA;&#xA;https://credctl.com/blog/vercel-context-ai-breach/</description><pubDate>27 Apr 2026 12:01 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mkhzjl5um52v</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mk5xpvfhuc2x</link><description>Unpopular opinion: &#34;just rotate your AWS keys regularly&#34; is not a security strategy.&#xA;&#xA;Between rotations, those keys are still in plaintext on disk. Rotation reduces the blast radius window. It doesn&#39;t eliminate the attack surface.&#xA;&#xA;The real fix is not having long-lived keys at all.</description><pubDate>23 Apr 2026 12:02 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mk5xpvfhuc2x</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mk3h65g3hp2u</link><description>Working on multi-cloud credential management. One thing I didn&#39;t expect: AWS Roles Anywhere, GCP Workload Identity Federation, and Azure Federated Identity Credentials all accept the same OIDC token format.&#xA;&#xA;Different APIs, same underlying pattern. One identity provider can serve all three.</description><pubDate>22 Apr 2026 12:00 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mk3h65g3hp2u</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mjymrs6fia2m</link><description>Interesting design pattern: OIDC federation lets any service that can produce a signed JWT get short-lived cloud credentials.&#xA;&#xA;AWS, GCP, and Azure all support it. Your CI runner uses it. Your Kubernetes pods use it.&#xA;&#xA;Your laptop could too — if something signed the JWT with a hardware-bound key.</description><pubDate>21 Apr 2026 09:03 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mjymrs6fia2m</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mjwhmbomfu2o</link><description>The CircleCI breach (2023): malware on a dev laptop stole a session cookie. The LastPass breach (2022): a dev workstation was compromised.&#xA;&#xA;Both started the same way — credentials accessible on a dev machine.&#xA;&#xA;We keep building more sophisticated auth systems while leaving plaintext keys on disk.</description><pubDate>20 Apr 2026 12:25 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mjwhmbomfu2o</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mjwamx5o2q2p</link><description>Writing Go for the macOS Secure Enclave means cgo + Apple&#39;s Security framework.&#xA;&#xA;SecKeyCreateRandomKey to generate keys. SecKeyCreateSignature to sign. The private key never touches Go memory — the Enclave does the crypto internally.&#xA;&#xA;Getting the CFDictionary bridging right was... an experience.</description><pubDate>20 Apr 2026 10:20 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mjwamx5o2q2p</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mjp6sia4cn2t</link><description>TIL you can set up your own OIDC identity provider for AWS with just two static JSON files on S3 + CloudFront.&#xA;&#xA;openid-configuration + a JWKS document. That&#39;s it. AWS STS will validate your JWTs against it via AssumeRoleWithWebIdentity. No Cognito, no Auth0, no server.</description><pubDate>17 Apr 2026 14:59 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mjp6sia4cn2t</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mjjrogtewc2y</link><description>86% of breaches involve stolen credentials (Verizon DBIR). Most developer laptops have AWS keys sitting in ~/.aws/credentials in plaintext.&#xA;&#xA;Meanwhile every Mac since 2016 has a Secure Enclave — a chip that makes keys that physically can&#39;t be extracted.&#xA;&#xA;The gap between those two facts is wild.</description><pubDate>15 Apr 2026 11:20 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mjjrogtewc2y</guid></item><item><link>https://bsky.app/profile/credctl.com/post/3mjjo7n2oag25</link><description>Building credctl — an open-source CLI that replaces the plaintext AWS/GCP keys on your laptop with Secure Enclave-bound credentials. Touch ID instead of ~/.aws/credentials.&#xA;github.com/credctl/credctl&#xA;https://github.com/credctl/credctl</description><pubDate>15 Apr 2026 10:18 +0000</pubDate><guid isPermaLink="false">at://did:plc:5aestayxamibnrftzzmihpla/app.bsky.feed.post/3mjjo7n2oag25</guid></item></channel></rss>