<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Sentinel — articles &amp; security recipes</title><description>Tutorials and security recipes from Sentinel, the embeddable identity, authentication and authorization platform for .NET.</description><link>https://sentinel.nuvoralabs.com/</link><item><title>Article 001 — Your first login</title><link>https://sentinel.nuvoralabs.com/articles/first-login/</link><guid isPermaLink="true">https://sentinel.nuvoralabs.com/articles/first-login/</guid><description>Stand up a Sentinel host from nothing — EF stores, the engine, the authentication handler — and walk a real login, refresh and authenticated request through it.</description></item><item><title>Article 005 — Multi-org membership &amp; delegated admin</title><link>https://sentinel.nuvoralabs.com/articles/multi-org-and-delegated-admin/</link><guid isPermaLink="true">https://sentinel.nuvoralabs.com/articles/multi-org-and-delegated-admin/</guid><description>Model realm → organizations → teams, put one user in two orgs, switch org context without re-login, and hand each org an admin who structurally cannot touch the other — the fence lives in the evaluator, not the controller.</description></item><item><title>Article 006 — An OIDC server inside your app</title><link>https://sentinel.nuvoralabs.com/articles/oidc-server-in-your-app/</link><guid isPermaLink="true">https://sentinel.nuvoralabs.com/articles/oidc-server-in-your-app/</guid><description>Turn the host you already have into a standards-compliant OIDC provider — discovery, a confidential client, the code + PKCE flow with your own login UI, introspection and back-channel logout.</description></item><item><title>Article 004 — Passkeys, first-class</title><link>https://sentinel.nuvoralabs.com/articles/passkeys/</link><guid isPermaLink="true">https://sentinel.nuvoralabs.com/articles/passkeys/</guid><description>Register a passkey, sign in without a password, and use a passkey as a second factor — the full WebAuthn ceremony flow with Sentinel&apos;s eligibility rules, sign-count defense and phishing-resistant session marking.</description></item><item><title>Article 002 — The permission grammar, evaluated</title><link>https://sentinel.nuvoralabs.com/articles/permission-grammar-and-evaluation/</link><guid isPermaLink="true">https://sentinel.nuvoralabs.com/articles/permission-grammar-and-evaluation/</guid><description>Learn service:scope:action from the inside — patterns and wildcards, deny-overrides, org/team/self scoping, ABAC conditions, and the golden vectors that make the server and the browser agree.</description></item><item><title>Article 003 — Refresh-token families</title><link>https://sentinel.nuvoralabs.com/articles/refresh-token-families/</link><guid isPermaLink="true">https://sentinel.nuvoralabs.com/articles/refresh-token-families/</guid><description>Why every refresh rotates, what a token family is, and how replaying a stolen token detonates the whole lineage — with the exact service, store contract and tests behind it.</description></item><item><title>Article 008 — Shadow-mode migration</title><link>https://sentinel.nuvoralabs.com/articles/shadow-mode-migration/</link><guid isPermaLink="true">https://sentinel.nuvoralabs.com/articles/shadow-mode-migration/</guid><description>Import your users, run Sentinel&apos;s evaluator silently beside your legacy authorization, turn every disagreement into a reviewable event, and cut over only when the divergence counter reads zero.</description></item><item><title>Article 007 — Workload identity federation</title><link>https://sentinel.nuvoralabs.com/articles/workload-identity-federation/</link><guid isPermaLink="true">https://sentinel.nuvoralabs.com/articles/workload-identity-federation/</guid><description>Delete the deploy secrets — configure a trust for GitHub Actions or Kubernetes OIDC tokens and exchange them for short-lived Sentinel access tokens, with wildcard subject matching and audited denials.</description></item><item><title>Security recipe — Credential stuffing</title><link>https://sentinel.nuvoralabs.com/security/credential-stuffing/</link><guid isPermaLink="true">https://sentinel.nuvoralabs.com/security/credential-stuffing/</guid><description>Billions of breached email/password pairs, replayed against your login at low per-IP rates. How Sentinel&apos;s four windowed layers, distinct-identifier heuristic, adaptive CAPTCHA and risk engine raise the cost curve — and what happens when the counter store goes down.</description></item><item><title>Security recipe — SAML signature wrapping</title><link>https://sentinel.nuvoralabs.com/security/saml-signature-wrapping/</link><guid isPermaLink="true">https://sentinel.nuvoralabs.com/security/saml-signature-wrapping/</guid><description>The XML-DSig attack class that broke a decade of SAML stacks — moving a validly-signed element and consuming an injected one — and the five-layer verification pipeline that makes Sentinel consume only what was signed.</description></item><item><title>Security recipe — Session fixation</title><link>https://sentinel.nuvoralabs.com/security/session-fixation/</link><guid isPermaLink="true">https://sentinel.nuvoralabs.com/security/session-fixation/</guid><description>An attacker plants a session identifier before login and inherits the victim&apos;s authenticated session — and why Sentinel&apos;s post-authentication, server-minted session model leaves the attack nothing to fixate on.</description></item><item><title>Security recipe — Token theft &amp; reuse detection</title><link>https://sentinel.nuvoralabs.com/security/token-theft-and-reuse-detection/</link><guid isPermaLink="true">https://sentinel.nuvoralabs.com/security/token-theft-and-reuse-detection/</guid><description>A stolen refresh token is a month of silent access — unless replaying it detonates the whole token family. How Sentinel&apos;s rotation and reuse detection turn theft into an alarm, and the runbook for the alarm.</description></item><item><title>Security recipe — User enumeration</title><link>https://sentinel.nuvoralabs.com/security/user-enumeration/</link><guid isPermaLink="true">https://sentinel.nuvoralabs.com/security/user-enumeration/</guid><description>Login, reset and registration endpoints that answer &quot;no such user&quot; differently from &quot;wrong password&quot; hand attackers a verified target list. How Sentinel makes the two indistinguishable — by response, by timing, and by side effect.</description></item></channel></rss>