> For the complete documentation index, see [llms.txt](https://cjay-1.gitbook.io/afterprint-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cjay-1.gitbook.io/afterprint-docs/introduction.md).

# Introduction

Evidence intelligence for investigations — AI-assisted extraction where every claim is traceable to a source, an append-only chain of custody, and integrity anchored on the Stellar network.

## The problem

An investigation or legal case usually accumulates evidence from many places at once: recordings, scanned documents, sensor logs, written reports. Two things tend to go wrong as that pile grows:

1. **No shared timeline.** Each source lives in its own file, in its own format, with nobody cross-referencing what one source says against another until someone manually does it — slowly, and often too late to catch a conflict.
2. **No verifiable integrity.** Once a file sits in a shared drive or a case-management tool, there's usually no way to prove after the fact that it hasn't been edited, replaced, or quietly "corrected." The chain of custody is whatever the database says it is, and the database is trusted by assumption, not by proof.

Afterprint addresses both: it ingests evidence, has AI extract and cross-reference claims across sources — refusing to assert anything it can't cite a source span for — and anchors custody events and integrity hashes on Stellar, so the chain of custody can be verified independent of Afterprint's own infrastructure.

## How it works, step by step

1. **Sign in with a Stellar wallet.** No password, no email — your Freighter wallet's public key is your identity, verified by a [SEP-53](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0053.md) signature challenge.
2. **Create a case**, and add teammates with scoped roles (see End-User Guides).
3. **Upload evidence.** Each file is stored as an immutable, versioned object. A custody event is recorded on import and on every transfer — append-only, enforced by a database trigger, not just application logic.
4. **AI processes each source.** Text is extracted (OCR for images/PDFs, Whisper transcription for audio/video) and turned into claims, each one categorized `VERIFIED_FACT`, `CORROBORATED_CLAIM`, `INFERENCE`, `CONFLICT`, or `UNKNOWN` — see Protocol Mechanics for exactly what each category requires.
5. **Ask questions about the case.** Answers come back with citations pointing at the exact source span they're grounded in. If the evidence doesn't support an answer, you get `UNKNOWN` — not a guess dressed up as an answer.
6. **Custody events and attestations anchor on Stellar Testnet** via the [afterprint-contracts](https://github.com/Afterprint/afterprint-contracts) registries, so the custody chain's integrity can be checked independently of Afterprint's own database.

## What Stellar is actually doing here

Stellar isn't decorative in this design — it's the one part of the system a party outside Afterprint can independently verify. The `evidence_anchor_registry` and `custody_registry` contracts store manifest/event hashes that, once written, cannot be overwritten by anyone — including Afterprint's own operators. If Afterprint's database were compromised or its operators acted in bad faith, the on-chain hash trail would disagree with the tampered database, and that disagreement is the detectable signal.

## Repos

| Repo                                                                       | What it is                                        |
| -------------------------------------------------------------------------- | ------------------------------------------------- |
| [afterprint-web](https://github.com/Afterprint/afterprint-web)             | Next.js web app                                   |
| [afterprint-api](https://github.com/Afterprint/afterprint-api)             | Auth, evidence ingest, custody, job orchestration |
| [afterprint-ai](https://github.com/Afterprint/afterprint-ai)               | Citation-grounded extraction and analysis         |
| [afterprint-contracts](https://github.com/Afterprint/afterprint-contracts) | Soroban registries on Stellar                     |

Live app: **<https://afterprint.vercel.app>**


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://cjay-1.gitbook.io/afterprint-docs/introduction.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
