KnownGate is the food verification layer for people and AI agents: it checks food against what must not be in it, or a number it must stay under, and returns evidence-backed verdicts with their sources and read dates.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport streamable-http · http counts 4 tools · 0 res
· 0 prompts
permission surface via README inference
tools
-
check_item
One product or dish
-
check_plan
A set of items, a recipe, a basket
-
check_venue
A whole menu
-
register
Mints a free key, in-band
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 22ba5f1 · analyzer v33 · 1d ago
skills & prompt files 3
- agent-rules FocusedCreativity-knowngate-22ba5f1/AGENTS.md
- agent-rules FocusedCreativity-knowngate-22ba5f1/CLAUDE.md
- agent-rules FocusedCreativity-knowngate-22ba5f1/public/agents.md
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 82
filesystem 3
- fs FocusedCreativity-knowngate-22ba5f1/evals/run.ts :1
import { writeFile } from "node:fs/promises"; - fs (weak) FocusedCreativity-knowngate-22ba5f1/src/lib/knowngate/fixtures.ts :3
import { readFile } from "node:fs/promises"; - fs (weak) FocusedCreativity-knowngate-22ba5f1/tests/contract-validation.test.ts :2
import { readFile } from "node:fs/promises";
network 8
- net FocusedCreativity-knowngate-22ba5f1/src/app/api/label-image/[gtin]/route.ts :26
upstream = await fetch(UPSTREAM(gtin), { - net FocusedCreativity-knowngate-22ba5f1/src/lib/kg/corpus-data.ts :78
const res = await fetch(corpusUrl(), { cache: "no-store" }); - net FocusedCreativity-knowngate-22ba5f1/src/lib/kg/landing-data.ts :95
const res = await fetch(url, { - net FocusedCreativity-knowngate-22ba5f1/src/lib/kg/premise-parse.ts :101
res = await fetch("/api/knowngate/v0/premise/parse", { - net FocusedCreativity-knowngate-22ba5f1/src/lib/kg/questions-data.ts :34
const res = await fetch(url, { cache: "force-cache" }); - net FocusedCreativity-knowngate-22ba5f1/src/lib/knowngate/api.ts :29
response = await fetch(`${base}${path}`, { - net FocusedCreativity-knowngate-22ba5f1/src/lib/knowngate/client.ts :12
const response = await fetch(path, { ...init, headers: { "content-type": "application/json", ...init?.headers } }); - net FocusedCreativity-knowngate-22ba5f1/src/lib/knowngate/proxy.ts :127
upstream = await fetch(target, init);
secrets 3
- secrets FocusedCreativity-knowngate-22ba5f1/src/lib/kg/landing-data.ts :92
const siteSecret = process.env.KNOWNGATE_SITE_SECRET; - secrets FocusedCreativity-knowngate-22ba5f1/src/lib/knowngate/api.ts :35
...(process.env.KNOWNGATE_SITE_SECRET - secrets FocusedCreativity-knowngate-22ba5f1/src/lib/knowngate/proxy.ts :72
const siteSecret = process.env.KNOWNGATE_SITE_SECRET;
declared dependencies 12
- next@16.3.3
- react@19.2.8
- react-dom@19.2.8
- @netlify/axis@^1.17.5
- @tailwindcss/postcss@^4
- @types/node@^20
- @types/react@^19
- @types/react-dom@^19
- eslint@^9
- eslint-config-next@16.3.3
- tailwindcss@^4
- typescript@^5