Free and open source · Apache-2.0

Every answer shows where it came from.

Cited turns a business's own documents into an AI that answers its customers on a page, in a widget and by voice, and backs every answer with the exact passage.

Your server, your AI: OpenAI, Anthropic, Gemini, DeepSeek, Groq, OpenRouter, Ollama or LM Studio.

The 30-second version

It answers out loud, and still shows the page it read.

A customer asks the bike workshop what a late cancellation costs. Cited answers from the workshop's own policies, then takes you to the passage it read.

A dramatization of the sample workshop, with its prices in dollars for English viewers. Voices generated with ElevenLabs; the orb is ElevenLabs UI (MIT), as shipped in Cited.
Transcript
Customer
What if I cancel late?
Cited
A late cancellation costs ten dollars. It's in your workshop policies.

On screen, the answer carries citation 1 and its source, bike-workshop-policies.md, and then opens the passage it came from.

Anatomy of an answer

Nothing is said without its source.

A real capture of Cited answering for Café La Horquilla, the sample business that ships with the repository. The model was DeepSeek; the words came from one paragraph of the workshop's policies.

  1. The answer, written only from the business's own documents.
  2. The citation mark behind the claim. Tap it.
  3. The passage it came from, highlighted, with its file and its heading.
Café La Horquilla's public page. The question: what happens if I cancel my repair late? The answer: a late cancellation costs 50 pesos, with citation 1 open on the passage about bookings and cancellations in bike-workshop-policies.md.

The guided setup

From nothing to a published answer, in four steps.

Once Cited is installed, the owner finishes the setup alone, in the browser, without calling anyone.

  1. Connect your AI

    Paste one key. Cited tests it, stores it encrypted and never shows it in full again.

  2. Add your information

    Drop in PDFs, Word files or plain text, and see every passage Cited understood.

  3. Try it

    Ask a question and read the answer next to the passage it came from.

  4. Publish it

    The page, the widget and the voice go live under the business's own name and color.

Measured on 30 September 2026 with DeepSeek: 4.0 seconds of machine time from the welcome screen to a published answer. The rest is the owner reading.

The Try it step of Cited's panel: the question “Is booking a repair free?”, and its answer with citation marks to the passage it came from.

Where it answers

The same documents answer on a page, inside your website and out loud.

Cited's public page on a phone, answering with its citation open.

A page of its own

A public page in the business's color, with the question box at hand and the sources beside every answer.

Inside any website

One line of HTML brings the same answers to the site the business already has.

<script src="https://your-cited.example/widget.js" async></script>

Out loud

A voice agent on the same documents, built on ElevenLabs with the owner's key. One click in the panel creates it.

Built not to invent

Five promises, each with its source.

What this page says is what the code does. Every promise points to the specification it comes from.

  1. Only your documents.

    Cited reads the files you give it and nothing else: it does not search the web or fall back on what the model remembers.

    openspec/specs/knowledge-search
  2. Every passage keeps its place.

    The document, the heading and the position travel with every piece of text, so anyone can check.

    openspec/specs/knowledge-search
  3. When it does not know, it says so.

    “The documents don't say” is an answer. A confident guess is not.

    Cited's panel answering the question “Do you rent electric bikes?”: I can't find that in this business's documents.
    openspec/specs/answering
  4. Your keys stay yours.

    Entered once, tested and stored encrypted with AES‑256‑GCM. Only the last four characters are ever shown again.

    openspec/specs/provider-settings
  5. Your choice of AI.

    OpenAI, Anthropic, Gemini, DeepSeek, Groq or OpenRouter, or entirely on your own machine with Ollama or LM Studio.

    openspec/specs/answering

Open source

Free. Clone it tonight.

Cited is released under the Apache License 2.0. Clone it, run it on your own server, change it and set it up for your clients, commercially too. Keep the LICENSE and NOTICE files with it.

Quick start

  1. Get the code
    git clone https://github.com/RonnieGex/cited.gitcd citednpm cicp .env.example .env
  2. Fill in .env

    In .env, set ADMIN_PASSWORD (16 characters or more), ADMIN_SESSION_SECRET and ENCRYPTION_KEY (openssl rand -base64 32). The voice agent also needs VOICE_TOOL_SECRET.

  3. Start it
    npm run dev

    Then open http://localhost:3000/admin and follow the guided setup.

Node 24 (24.15 or later) and npm 11 or newer. A key from any supported provider, or Ollama for a setup that never leaves your machine.

A Next.js app; its data lives in a local SQLite file (libSQL) or in Turso. No Docker image or one-click deploy yet.

Version 0.1.0, in early development. Read the status table before you promise anything to anyone.

Rather not run a server? Katalis can run Cited for you