<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tokens on Le Site de François</title><link>https://lesitedefrancois.be/en/tags/tokens/</link><description>Recent content in Tokens on Le Site de François</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 François</copyright><atom:link href="https://lesitedefrancois.be/en/tags/tokens/index.xml" rel="self" type="application/rss+xml"/><item><title>Context window</title><link>https://lesitedefrancois.be/en/ai/context-window/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/ai/context-window/</guid><description>&lt;p&gt;The &lt;strong&gt;context window&lt;/strong&gt; is the maximum span of tokens—input prompt plus model-generated output—that an &lt;strong&gt;LLM&lt;/strong&gt; can process in a single forward pass chain without truncating or sliding attention. It is set by &lt;strong&gt;model architecture&lt;/strong&gt; (positional encoding limit, e.g. 8K, 128K, 1M+ in newer models) and by practical &lt;strong&gt;VRAM&lt;/strong&gt; on the serving &lt;strong&gt;GPU&lt;/strong&gt;, because the &lt;strong&gt;KV cache&lt;/strong&gt; scales with total sequence length. Its objective is to bound memory and compute: longer windows enable whole documents, multi-turn chat history, and large &lt;strong&gt;RAG&lt;/strong&gt; payloads in one shot, but cost more on every &lt;strong&gt;prefill&lt;/strong&gt; and &lt;strong&gt;decode&lt;/strong&gt; step. APIs expose this as &lt;code&gt;max_tokens&lt;/code&gt;, context limits, or model cards; exceeding it yields errors or silent truncation.&lt;/p&gt;</description></item><item><title>JWT (JSON Web Token)</title><link>https://lesitedefrancois.be/en/security/jwt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/jwt/</guid><description>&lt;p&gt;&lt;strong&gt;JWT (JSON Web Token)&lt;/strong&gt;, standardised in RFC 7519, is a compact, self-contained token format that encodes a set of &lt;strong&gt;claims&lt;/strong&gt; — assertions about a subject, an issuer, an audience, and arbitrary application-defined attributes — as a JSON object, signs or encrypts it, and serialises the result as three base64url-encoded segments separated by dots: &lt;code&gt;header.payload.signature&lt;/code&gt;. The header is a JSON object specifying the algorithm (&lt;code&gt;alg&lt;/code&gt;) and optionally a key ID (&lt;code&gt;kid&lt;/code&gt;) used to produce the signature. The payload is a JSON object containing the claims. The signature is computed over &lt;code&gt;base64url(header) + &amp;quot;.&amp;quot; + base64url(payload)&lt;/code&gt; using the algorithm declared in the header. The entire token is URL-safe, fits in an HTTP header or query parameter, and is self-describing — a verifier can locate the signing key, check the algorithm, verify the signature, and read the claims without any external lookup beyond fetching the issuer&amp;rsquo;s public key. This self-contained nature is what makes JWTs efficient at scale: unlike opaque tokens, which require a network call to the issuer&amp;rsquo;s introspection endpoint per verification, a JWT can be verified locally with a cached public key, making it suitable for high-throughput API gateways and distributed systems.&lt;/p&gt;</description></item><item><title>OAuth 2.0</title><link>https://lesitedefrancois.be/en/security/oauth2/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/oauth2/</guid><description>&lt;p&gt;&lt;strong&gt;OAuth 2.0&lt;/strong&gt; (RFC 6749, 2012) is an authorisation delegation framework — not an authentication protocol — that solves a specific problem: how does a user grant a third-party application access to their resources on a server, without giving that application their password? The canonical example is a user granting a calendar app access to their Google Drive files: OAuth 2.0 lets Google issue the calendar app a scoped, time-limited &lt;strong&gt;access token&lt;/strong&gt; that permits it to read Drive files, without the app ever seeing the user&amp;rsquo;s Google password. The distinction between authorisation and authentication is fundamental: OAuth 2.0 proves that a token was issued by an authorisation server for a specific scope — it says nothing about who the user is. Attempting to use OAuth 2.0 for authentication (treating token possession as proof of identity) is a well-documented anti-pattern with concrete exploits; &lt;strong&gt;OIDC&lt;/strong&gt; (OpenID Connect) is the authentication layer built on top of OAuth 2.0 that addresses this correctly.&lt;/p&gt;</description></item></channel></rss>