local-auth-gate.mjs
26 lines 841 B
Raw
sha256:baa800aedf841dbf32081aa7b2befa288ac33dfc7175ac55014c55c4d8c742f9 docs: move durable-auth freeze/evidence to local developmen… Human 12 days ago
1 /**
2 * Phase 8 P1b-b — env gate for offline-locked auth (read once at boot, §2.2).
3 */
4
5 import { isOfflineLockedAuthActive } from './local-auth-feature-flag.mjs';
6
7 /**
8 * Read KNOWTATION_OFFLINE_LOCKED_AUTH at boot. Only `enabled` turns the gate on.
9 * @returns {boolean}
10 */
11 export function readOfflineLockedAuthEnvGate() {
12 const raw = process.env.KNOWTATION_OFFLINE_LOCKED_AUTH;
13 return typeof raw === 'string' && raw.trim().toLowerCase() === 'enabled';
14 }
15
16 /**
17 * Cached boot snapshot: env gate + compile-time shipped flag.
18 * @param {boolean} [envGate] - optional pre-read env gate
19 * @returns {{ envGateEnabled: boolean, active: boolean }}
20 */
21 export function resolveOfflineLockedAuthPosture(envGate = readOfflineLockedAuthEnvGate()) {
22 return {
23 envGateEnabled: envGate,
24 active: isOfflineLockedAuthActive(envGate),
25 };
26 }
File History 1 commit
sha256:baa800aedf841dbf32081aa7b2befa288ac33dfc7175ac55014c55c4d8c742f9 docs: move durable-auth freeze/evidence to local developmen… Human 12 days ago