MemoryBeta

Add memory to your reviews.

Velt learns from past reviews. Previous approvals surface as precedent, so the tenth review is consistent with the first as teams grow.

No more review features a competitor can clone in a quarter.

Free tier. No credit card. First comment in 5 minutes.

MAcontract-v3.pdf / clause 12
live
Memory Agentagentnow

I found a prior decision on this clause: indemnity cap was reviewed and approved in March. Not re-flagging.

precedent · clause 12 indemnity

Approved by Maya (Legal) · 14 Mar 2026 · cap set at 2× annual fees; no further liability.

source: contract-v1.pdf · thread #2281

Add context or override…@
Build this

Review intelligence running inside products at

Migrating from an in-house ML build?Compare·Migration guide

What it is

A learning layer over your reviews.

Velt Memory is a learning layer over your users’ review history. Past decisions surface as precedent — to review agents before they review, and to human reviewers in context — so the tenth review is consistent with the first. The precedent accumulates in your product: a competitor can clone your features in a quarter; they cannot clone your customers’ settled judgments.

Maya approved identical indemnity · Mar 12Prior agent finding accepted · same clause

AI suggestion

Recommend approve · Confidence 91% · based on 47 similar judgments

every entry shows who decided, when, and why

both actor types feed the precedent; the human makes the call

How it works

Three steps to precedent.

Enable Memory and your review activity becomes structured judgments automatically. Search, ask, and suggest over them through the REST API; agents and humans read the same precedent.

01Install
terminal
npm install @veltdev/react
02Wrap
_app.tsx
<VeltProvider
  apiKey={VELT_API_KEY}>
  <YourApp />
</VeltProvider>
03Mount
review-page.tsx
// enable Memory in your workspace first
import { useSetDocument } from "@veltdev/react";

useSetDocument("filing-q3");
With Velt

The mechanics

Enable Memory in your workspace and Velt starts recording review activity as structured records. Each decision is enriched into a judgment automatically: the decision, the reasoning, who decided (human or agent), and the content type. Judgments are read-only through the API — there is no create endpoint — so a new workspace starts empty and fills as reviews happen. Search runs over two embedding spaces (the decision with its reasoning, or the reviewed content), filterable by decision, judge type, content type, reviewer, and date. Ask returns a grounded answer with citations and a confidence score, or an empty answer when nothing relevant exists. Suggest returns a recommendation with confidence and the judgment count it drew on. Memory recommends; it never acts. The reviewer always decides, and that decision becomes the next record.

// judgments are read-only · a new workspace starts empty and fills as reviews happen

Build it yourself

What an in-house version requires

  • a vector store with per-tenant namespace isolation
  • a multimodal embedding pipeline for text and attachments
  • retrieval-grounded answers with citations
  • scope enforcement that survives prompt injection
  • pattern detection jobs
  • knowledge ingestion with parsing, chunking, and versioning
  • drift detection between stated rules and actual behavior
  • GDPR deletion that reaches embeddings and derived patterns
  • an eval harness for suggestion precision

Teams that build this budget a year of ML infrastructure work and keep paying for eval upkeep. The 3 steps above replace the year; once Memory is enabled, your review activity builds the record from the first decision.

MCP: the faster path.

Skip the steps. Have your agent set it up.

npx -y @velt-js/mcp-installer

Launch review memory this week.

No credit card. Works with React, Next.js, Vue, Angular, and HTML.

Get Free API Key

Capabilities

Reviews that remember.

Each card shows the real mechanics. Toggle to Code for the exact snippet behind it.

01precedent
Precedentbefore review
Indemnity cap · clause 12Maya · Legal · Mar 14approved
Pricing claim · slide 4Dev · Mar 28rejected
Liability terms · §7Roman · Apr 02approved
3 precedentsThe tenth review starts where the first nine ended
// precedent
const ctx = useInlineContext({ documentId });
// → similar judgments, who, when, why

Precedent in context

Before a reviewer opens the filing, Memory surfaces similar past judgments: 3 approved last month, who decided, and why. The tenth review starts where the first nine ended.

02suggest
Suggestion94%
Recommend approvematches 200 prior judgments
confidence94%
47 contracts153 filings
// suggest
POST /v2/memory/suggest
{ "documentId": "filing-q3" }

AI suggestions with confidence

Based on 200 judgments: recommend approve. Confidence 94%. Every suggestion carries its source records, so routine items clear in seconds and low-confidence ones get a full read.

03search
Semantic searchvectors
// search
POST /v2/memory/search
{ "query": "indemnity clause", "space": "decision" }

Semantic search over decisions

Two embedding spaces index every judgment: the decision with its reasoning, or the reviewed content itself. The deck that repeats a settled mistake surfaces its history.

04ask
Ask Memory/v2/memory/ask
All rejections of financial projections in Q3
grounded answerconfidence 0.92

7 projections were rejected in Q3: each for variance over the declared 15% threshold.

filing-2231filing-2318+5 records
// ask
POST /v2/memory/ask
{ "data": { "question": "rejections of Q3 projections" } }

Natural language queries

Ask in plain English: show me all rejections of financial projections in Q3. The answer cites the records behind it, so the audit takes minutes, not a quarter-end scramble.

05knowledge
Org knowledgeingested
brand-guide.pdf50 pages · chunkedingested
pricing.csvrules extractedingested
policy.xlsxsearchableingested
// knowledge
POST /v2/memory/knowledge/ingest
{ "file": "brand-guide.pdf" }

Knowledge sources

Upload the 50-page brand guide, the policy PDF, the pricing spreadsheet. Memory converts each into searchable text and extracted rules, so reviews check against the actual guide.

06rules
Living checklistv4
qa-checklist.csv300 items · normalizedversioned
+12 new rulesv43 dead rulescleanup
Every update produces a citeable diff
// rules
GET /v2/memory/knowledge/rules
  ?sourceId=qa-checklist

Checklists as living rules

Ingest the 300-item QA checklist; Memory extracts it into versioned, citeable rules. Updates produce a diff, and rules nobody enforces anymore surface for cleanup.

07agents
Agent groundinggrounded
Agent queried past judgmentsgrounded
Settled item not re-flaggedskipped
Human decides the findinghuman
// agents
POST /v2/memory/search
{ "query": claim, "judgeType": "agent" }

Agents grounded on memory

Review agents query past judgments and knowledge before flagging. What the org approved before is not re-flagged; what it rejected is caught earlier. A human still decides every finding.

08drift
Drift detectionalert
declared standardsentence case
observed in approvals60% title case
drift60%
Surfaces before the client or auditor finds it
// drift
GET /v2/memory/alerts
  ?type=standards-drift

Standards drift alerts

Memory compares stated rules to actual behavior: the brand guide says sentence case, 60% of approvals use title case. The gap surfaces before the client or the auditor finds it.

09declared
Declared rulesoverride
Declared ruleoverrides the inferred pattern
projections > 15% variancealways human read
// declared
velt.memory.declare({
  rule: "variance > 15% → human read",
});

Declared facts and rules

Declare it once: brand voice changed in January; projections above 15% variance always get a human read. Declared rules override inferred patterns, so policy beats habit.

10profiles
Reviewer profileMaya
MayaLegal · contracts
approval rate82%
avg review6m
top flagindemnity
Route contracts to who actually clears contracts
// profiles
GET /v2/memory/profiles/get
  ?reviewer=maya

Reviewer profiles

Each reviewer’s history becomes a behavioral profile: approval rate, average review time, top flags raised. The contract goes to the reviewer who actually clears contracts.

Routine brand reviews used to take a day of back-and-forth. With precedent in context, the reviewer sees what we approved before and clears the obvious ones in seconds.

Head of content ops · enablement platform

Little big details

The long tail, already built.

What ships today leads; pre-GA and spec-only capabilities render with a Coming soon tag, never in shipped tense.

Three-level scoping: apiKey (workspace-wide), organization, documentFilters: decision, judge type, content type, reviewer, annotation, date rangeTwo embedding spaces: decision-with-reasoning, or reviewed contentRecency mode (1–365 days) for digestsAnnotation shortcut reads one comment thread oldest-firstStructured judgment listing by metadata, no embedding stepGrounded answers with citations and a confidence scoreHonest empties: no relevant context returns confidence 0, never inventedSuggestions carry confidence, judgment count, unique reviewers, and caveatsConflict suggestion beside the primary when evidence splitsAgent block on every agent-made judgment (id, type, execution id)Knowledge ingestion: PDF, CSV, Excel, plain text (5 MB inline, 30 MB signed URL)Async ingestion with a pollable status; content-hash deduplicationRule extraction with categories; updates bump a version and return a diffSemantic search inside the knowledge base, fanned across up to 30 sourcesReviewer profiles: approval rate, review time, top flags, peak hoursWorkspace stats and detected patterns with confidence and source countsProactive alerts with severity, evidence, and a suggested actionNo cross-tenant reads: a foreign sourceId returns empty, never a leakAutomatic in-context surfacing in the UIComing soonConfidence floor (suppress suggestions under 60%) and two-source minimumComing soonCustom context API for facts, rules, and reviewer overridesComing soonGDPR forget, per-content-type retention, and legal holdComing soonOpt-in cross-customer intelligence as anonymized statistics onlyComing soon

Make it yours

Your panel, your policy.

Inline context panel, suggestion card, and NL query results as components for the fast path, with a full REST surface underneath for backend and agent integrations.

Look

Inline context panel, AI suggestion card, and NL query results as components; panel position configurable (sidebar, bottom, modal); CSS variable theming, white-label, dark mode; headless hooks for fully custom UIs.

Acme · Precedentyour theme
Indemnity cap · clause 12approved
47 contractsMaya · Legal
Pricing claim · slide 4rejected
precedent #228

Behavior

Full REST API for backend and agent integrations: search, ask, suggest, judgments query, knowledge lifecycle, profiles, patterns, stats, and alerts. Alert frequency, types, and severity thresholds via alert config.

Grounding configyour rules
groundingrequired
sources
min confidence0.85
scopeper-org
We pointed our review agent at the suggest endpoint and it stopped re-flagging settled clauses overnight. Reviewers only see what is genuinely new.

Founding engineer · AI contract review

In production

Precedent, in products like yours.

Tabbed by vertical. Pre-GA, these are pilot patterns.

SummaryNext StepsDemoCustomer Stories

Hey Conductor!

This Digital Sales Room gives you everything you need to move forward — from proposal to plan.

Our Mutual Action Plan
Training2 / 5
Creating a new Room1
Build a working demo room
Contract sign-off
Maya2m

@Fin We need to make a working demo for Rene and his team

The client’s banned claims and settled brand debates surface as precedent on the next deck, email, and page. Brand review stays consistent when the content team doubles.For sales enablement

See it running in products like yours.

30 minutes, with an engineer, not a sales deck.

Book Demo
Per-customer isolationGDPR deletionLegal holdBeta

Review intelligence is isolated per customer with physical namespace separation: a foreign sourceId returns empty results and never a cross-tenant read. GDPR deletion, legal hold, and per-content-type retention are part of the model. Beta access requires being added to the beta list. See self-hosting and governance.

Book Demo

Proof

The precedent that compounds.

Accumulated review history became the reason customers stay.

10x

New reviewers ramp in days, not months. The precedent reviews with them, so their tenth review matches our most senior person’s first.
VP Operations, logistics platform

minutes

The compliance audit used to be a quarter-end scramble. Now every rejection is a cited query and the answer comes back in minutes.
Compliance lead, FP&A platform

0 re-flags

Our agent stopped re-flagging what we already settled. Reviewers trust it because every suggestion shows its sources and confidence.
Founding engineer, AI-native SaaS

FAQ

Questions about Memory.

Install @veltdev/react, wrap your app in VeltProvider with your API key, and your review activity is recorded as structured records. Enable Memory and mount the inline context panel where reviews happen; precedent and suggestions surface automatically.

No. Each customer’s records live in a physically separate namespace, and nothing crosses it: not records, not content, not names.

Velt indexes the decisions made in your product: every approval, rejection, and comment with its reasoning. When similar content comes up for review, the relevant past decisions appear in context, like “3 similar items approved last month,” each with who decided, when, and why.

Yes. Agents query the same API: past judgments, knowledge sources, and extracted rules. A grounded agent does not re-flag what your org already settled, and its suggestions carry confidence scores and cited sources. A human still decides.

Brand guides, policy documents, QA checklists, and data sheets: PDF, CSV, Excel (.xlsx), and plain text. Files up to 5 MB upload inline; larger files up to 30 MB go through a signed upload URL. Checklists and guides are converted into versioned, individually citeable rules.

No. Memory suggests; it never acts. When it lacks grounding it returns nothing rather than guessing: a question with no relevant history comes back with an empty answer, not an invented one. The reviewer accepts or overrides, and either way the decision is recorded.

Nothing, by design. Once you enable Memory in your workspace, judgments are created automatically from review activity, not imported or written by hand, so it starts empty and gets richer as reviews happen. Until then, questions return an empty answer rather than a guess, and suggestions stay sparse.

Beta means the feature is real and running in production with two caveats: API contracts may still change between releases, and access requires being added to the beta list. Ask through Book Demo or your existing Velt contact.

Velt is priced on usage, not seats: you pay for documents with review activity in a month, and there is a free tier for development and early production.

Add memory to your reviews.

Free tier. No credit card. First comment in 5 minutes.

30 minutes, with an engineer, not a sales deck.