Borrowing it
Nothing to install: this file belongs to qauth-labs/qauth. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/qauth-labs/qauth/main/.claude/skills/auth-engine/SKILL.mdgit clone --depth 1 https://github.com/qauth-labs/qauthWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/qauth-labs/qauth/auth-engine)<a href="https://agentmods.dev/skills/qauth-labs/qauth/auth-engine"><img src="https://agentmods.dev/badge/skills/qauth-labs/qauth/auth-engine/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/qauth-labs/qauth/auth-engine"><img src="https://agentmods.dev/badge/skills/qauth-labs/qauth/auth-engine.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00045 | $0.01271 |
| Opus 5.5 | $0.00018 | $0.00508 |
| Sonnet 5.5 | $0.00009 | $0.00254 |
| Haiku 4.5 | $0.00005 | $0.00127 |
Grade A, and why
auth-engine scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Auth Engine Rules
You are working in the QAuth authentication core.
CredentialProvider Pattern
Every authentication method implements the CredentialProvider interface:
// libs/server/federation/src/providers/credential-provider.interface.ts
export interface CredentialProvider {
readonly type: string;
verify(input: unknown): Promise<VerifiedIdentity>;
extractAttributes(result: VerifiedIdentity): UserAttribute[];
}
The auth engine:
- Looks up the credential from
user_credentialsby(realm_id, provider_type, external_sub) - Passes credential data to
provider.verify() - Receives
VerifiedIdentity - Upserts
user_attributesfromprovider.extractAttributes() - Issues tokens with
sub = users.id
The engine does not contain provider-specific logic. Switch/case on provider_type
belongs only in the provider registry, not in service routes.
Current Providers
PasswordProvider(provider_type: 'password') — Phase 1, COMPLETE- Located at
libs/server/federation/src/providers/password.provider.ts externalSubis the normalized email addressassuranceLevel: 'low'— noacrclaim in tokens
- Located at
WalletProvider(provider_type: 'wallet') — T4, Epic #231 (checked 2026-08-31)libs/server/federation/src/providers/wallet.provider.tsverify()throws unconditionally and must keep throwing. That is a permanent fail-closed property, not a stage in an implementation — a stub resolving a placeholderVerifiedIdentitywould be an authentication-bypass primitive. Never "finish" it, and never wire it into a login path. SeeAGENTS.md.- Wallet login itself is merged, flag-gated behind
WALLET_FEDERATION_ENABLED(default off). It does not go through this provider: it runs on the dedicated/ui/wallet-login+/oid4vp/responseseam (apps/auth-server/src/app/routes/ui/wallet-login.ts,apps/auth-server/src/app/routes/oid4vp/response.ts), validated end-to-end against a mock wallet on theoid4vp-1.0-baseprofile. extractAttributes()is implemented (#235) and is the half of this provider that does real work.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago Changed · +2 lines 80b44703ff25
- 1mo ago Changed · +19 lines a07f7f5c5294
- 1mo ago First seen · 83 lines · 45 tokens per session scan A b213ef930f0a
auth-engine is a skill published in the GitHub repository qauth-labs/qauth (26 stars, last pushed today), licensed Apache-2.0. It adds 45 tokens to every session and 1,271 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
theauth
Install and use theAuth (@glinr/theauth), the TypeScript auth SDK for AI agents and humans. Use when adding agent identity, scoped permissions, delegation, audit logs, human sign-in plugins, or an MCP OAuth 2.1 authorization server to a Node, Bun, Deno or edge project.
crudauth
Use when building or modifying authentication in a FastAPI app with crudauth (the crudauth PyPI package) — covers CRUDAuth, the AuthUserMixin / makeauthidentity user model, IdentityConfig, currentuser(...) gates, session + bearer transports, OAuth (Google/GitHub), email verification / password reset / change, custom…
nextjs-authentication
Secure token storage (HttpOnly Cookies) and Middleware patterns. Use when implementing authentication, secure session storage, or auth middleware in Next.js.
api-integration-architect
Design, implement, debug, and optimize API integrations with expert-level patterns for REST, GraphQL, webhooks, and authentication flows.
coding-directives
Implement or review caddy-security Go code, Caddy modules, parsers, lifecycle, and HTTP delegation. Use for app/plugin boundaries, authcrunch integration, errors, logging, and code conventions.
configuration-authentication-cookies
Configure portal cookie names, prefixes, domains, paths, attributes, and refresh overrides. Use for cookie precedence and coordination with authorization token discovery.