kit 1.15.0
Added
kit healthcompletes connected-service sensor coverage: Supabase advisor + TLS-cert. The Supabase sensor probes the Management API security advisors (GET /v1/projects/:ref/advisors/securitywithSUPABASE_ACCESS_TOKEN+SUPABASE_PROJECT_REF) and goes red (classcode) on ERROR-level lints (RLS-disabled / exposed-data); selected whensupabaseis a detected service. The TLS-cert sensor checks certificate expiry for the host(s) inKIT_TLS_HOST(warn windowKIT_TLS_WARN_DAYS, default 21) over a native TLS handshake — red (critical) when already expired, red (high) within the window, green otherwise. Both reportunknown, never a falsegreen. Pure parsers/evaluators are unit-tested; live API/handshake smoke is pending real creds. (#51)- Context-lock now covers app-service auth identity: Keycloak realm, Auth0 tenant, Clerk environment.
[context.keycloak] realm,[context.auth0] tenant, and[context.clerk] envjoin the lock table;kit context checkreads the live value from the app's env (KEYCLOAK_REALM,AUTH0_DOMAIN/AUTH0_TENANT, and thepk_live_/pk_test_prefix ofCLERK_PUBLISHABLE_KEY) and verifies it matches the declared one — a "dev pointed at prod" guard (a prod Clerk key in a dev checkout is a mismatch, not a silent pass). One data row each; the lock stays data-driven. (#38) Redacted<T>secret wrapper (src/utils/redacted.ts). A value held in a module-private WeakMap that masks as<redacted>throughString(),JSON.stringify,util.inspect/console.log, and object-key enumeration; the only path to the value is the explicit.expose(), so secret reads stay grep-able. Borrowed from Effect'sRedactedpattern (the pattern, not the framework). (#46)
Full changelog: https://github.com/sandstream/kit/blob/v1.15.0/CHANGELOG.md
Verify this release:
git tag -v v1.15.0
npm audit signatures