
Security News
Ruby's Bundler 4.0.18 Extends Cooldown to bundle lock and bundle cache
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.
@usekaval/kaval
Advanced tools
The freshness gate for AI — verify a belief your system already holds is still true.
The freshness gate for AI. Give kaval a belief your system already holds — a cached fact, a CRM
field, an agent memory — and it checks the live world and returns a typed verdict: current,
stale, contradicted, unsupported, conflicting, or insufficient.
npm install @usekaval/kaval
import { Kaval } from "@usekaval/kaval";
const kaval = new Kaval({ apiKey: process.env.KAVAL_API_KEY });
const decision = await kaval.verify("Acme's CEO is Jane Doe");
if (!decision.act) {
// stale / contradicted — re-fetch before relying on it
}
verify() returns the verdict plus act — true only when the belief is current and confident
(≥ 0.7 by default; override with minConfidence).
const decision = await kaval.verify({ belief: "Acme's CEO is Jane Doe", mode: "deep" });
decision.tier; // "deep" — the tier that ran (echoes your `mode`)
decision.explanation?.content; // deep only: a cited, markdown rationale with [n] citations
decision.explanation?.citations; // [{ url, title? }] — drawn only from the gathered evidence
decision.explanation?.confidence; // "high" | "medium" | "low"
mode selects the tier (default auto):
instant — cache / graph-prior only, no fetch or LLM; fastest, answers from what's already known.fast — a cheap model, origin-only.auto — balanced (the default).deep — the strongest model + a synthesized, inline-cited explanation for audit/human review.const report = await kaval.scanStore({
beliefs: ["Acme is on the Enterprise plan", "Jane Doe is VP Eng at Acme"],
});
report.riskiest.forEach((r) => console.log(r.belief, "→", r.status));
// …or get pushed the newly-stale ones:
await kaval.monitor({ beliefs, webhook: "https://your-app.com/hooks/stale" });
verify · check · extractAndCheck · scanStore · monitor · reportOutcome · kaval ·
kavalBatch · health. Construct with { apiKey, baseUrl?, fetch? } — baseUrl defaults to
https://api.usekaval.com. Works in Node 18+, browsers, and edge runtimes (uses the global fetch).
The Python client mirrors this surface: pip install kaval.
FAQs
Before an AI agent acts, Kaval verifies the facts the action depends on and returns ALLOW, REVIEW, or BLOCK with an Ed25519-signed receipt.
The npm package @usekaval/kaval receives a total of 131 weekly downloads. As such, @usekaval/kaval popularity was classified as not popular.
We found that @usekaval/kaval demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.