# Corbis Documentation (Full)

> Complete documentation for Corbis — a source-grounded research workspace for finance, real estate, and economics — by Agentic Assets.
> Website: https://www.corbis.ai
> MCP Endpoint: https://www.corbis.ai/api/mcp/universal

---

## Corbis Quick Start Guide

> Get started with Corbis quickly: create your account, run your first research chat, and learn where Projects, Workflows, and documentation fit in.

Corbis is a research workspace built for source-backed analysis. You can use it for open-ended chat, structured workflows, project-based research, and organization access.

This guide walks you through the first steps in plain language.

---

### After you sign in

New accounts usually land on **[chat](/chat)** after sign-up or login.

Before you start chatting, the app may ask you to:

- finish your **profile** (first and last name), if required
- accept **updated terms**, if prompted

Complete those steps when they appear. Then you are ready to use **New Inquiry** or **Past Inquiries** in the sidebar to work in chat.

---

### Where things live in the app

Use the **left sidebar** as your map:

- **Projects** — opens **`/projects`**. Expand it to see recent projects.
- **Workflows** — each workflow has its own sidebar link (for example **Referee Report**, **Technical Audit**, **Market Outlook**, **IC Memo**, **LOI Builder**). They go straight into that workflow's page.
- **Workflows hub** — open **`/workflows`** for a full catalog and overview of the same workflows.

**Settings** (avatar or app menu) includes tabs such as **Billing**, **Team** (for org admins), and **API Keys**. MCP connection keys are created in **Settings → API Keys**, in the MCP section of that tab.

---

### Start with chat

#### 1. Open a new inquiry

Use **New Inquiry** in the sidebar, or go to **`/chat`**. If you are not signed in, you will be sent to log in and then returned to chat.

#### 2. Use the welcome screen

On a new chat, you will see **starter prompts** and **skills** you can tap to pre-fill a first message. That is often the fastest way to send a useful opening question.

#### 3. Ask something specific

Concrete questions work better than very broad ones. For example:

- "Find recent papers on office vacancy and summarize the main drivers."
- "Show me CPI and Fed funds rate trends and explain the relationship."
- "What does the research say about cap rate compression in multifamily?"
- "Compare two markets and highlight the strongest fundamentals."

#### 4. Check the sources

Corbis is meant to show its work. When a reply includes citations or data references:

- open the sources
- check how recent they are
- confirm they support the claim you care about

#### 5. Refine with follow-ups

You do not need to start over each time. Follow-ups like these usually work well:

- "Go deeper on the main risk."
- "What is the counterargument?"
- "Only use studies from the last five years."
- "Turn this into a short memo."

#### 6. Scale up with Projects or Workflows

- **Chat** — flexible back-and-forth research.
- **Projects** — when several chats should share **instructions** and **files**, with saved papers kept alongside the work (see sidebar **Projects**).
- **Workflows** — when you want a **fixed, multi-step** process (sidebar links or **`/workflows`**).

---

### Core features (short tour)

#### Source-backed research

Corbis can pull academic papers, economic data, and market context when tools support it, and answer with **citations or linked sources** when that path applies.

#### Projects

A project is a workspace that can hold:

- related chats
- custom instructions
- uploaded reference files (how many files you can attach **depends on your plan**)
- saved academic papers

For multi-day or multi-document work, move it into a project early.

More detail: [How to Use Projects](/docs/projects-guide).

#### Workflows

Workflows are guided runs for repeatable tasks. The app currently ships these five:

- **Referee Report**
- **Technical Audit**
- **IC Memo**
- **Market Outlook**
- **LOI Builder**

More detail: [Guide to Structured Workflows](/docs/workflows-guide).

**Plans:** Structured workflows use a **monthly workflow allowance** that depends on your subscription or **organization** seat. On the **Free** tier, workflow runs are **not** part of the included allowance (see [Plans & Pricing](/docs/plans-and-pricing) and **Settings → Billing** for what applies to your account). If you are on Free, explore workflows after you upgrade or join a team whose plan includes them.

#### Documents and exports

When an output supports downloads, export actions show up in the surrounding UI.

#### Organizations

If your team uses Corbis through an organization, **billing and access** may be managed by an admin instead of only by you.

More detail: [Organization Memberships](/docs/organization-memberships).

#### MCP (Claude, ChatGPT, Cursor, and more)

On a **paid Claude plan**, install the live **Corbis plugin for Claude** and connect with your Corbis account. **Claude Free** supports **one custom MCP connector** instead; use the fallback in [MCP Client Setup](/docs/mcp-guide#mcp-client-setup), name it Corbis, paste the universal MCP URL, and complete OAuth without an API key. Managed Claude accounts may need administrator approval. **ChatGPT’s directory plugin is coming soon**; its custom MCP connector works today with OAuth. **Cursor** also uses OAuth without an API key. **Claude Code** and **Codex** use the bearer-key recipes in **Settings → API Keys**.

Choose your client in [MCP Client Setup](/docs/mcp-guide#mcp-client-setup).

More detail: [Understanding MCP Tools](/docs/mcp-guide).

---

### A practical first week

1. Run several research chats and **verify sources**.
2. **Create one project** for a real deliverable (sidebar **Projects**).
3. Add a **small set** of high-signal reference files (stay within your plan’s project file limits).
4. **If your plan includes workflow runs:** try one workflow from the sidebar or **`/workflows`**. If you are on **Free**, check [Plans & Pricing](/docs/plans-and-pricing) or **Settings → Billing** before expecting to run structured workflows.
5. If you expect heavy use, review **Settings → Billing** and your plan limits early.

---

### Common questions

#### Do I need Projects to start?

No. Start in chat. Use a project when the work needs shared files, shared instructions, or saved papers kept in one place.

#### When should I use a workflow instead of chat?

Use a workflow when you want the app to **hold a fixed process** for you. Use chat when you want maximum flexibility.

#### Where do I manage billing or plan limits?

Use **Settings → Billing**, or read the public [Plans & Pricing](/docs/plans-and-pricing) page.

#### Where do I manage team access?

Organization admins use **Settings → Team**.

#### Do I always need an account?

Most full product use requires sign-in. Some deployments allow **limited guest** access; if you see a guest entry path, treat it as optional and environment-specific.

---

### Next reads

- [How to Use Projects](/docs/projects-guide)
- [Guide to Structured Workflows](/docs/workflows-guide)
- [Organization Memberships](/docs/organization-memberships)
- [Understanding MCP Tools](/docs/mcp-guide)
- [Plans & Pricing](/docs/plans-and-pricing)

---

## What Makes Corbis Different

> Learn how Corbis differs from general-purpose AI with source-backed research, curated data tools, structured workflows, and project workspaces.

Most AI products are optimized for general conversation. Corbis is optimized for research that needs sources, structure, and repeatability.

That does not mean Corbis replaces general-purpose AI. It means Corbis is built for the cases where unsupported answers are not good enough.

---

### 1. Research Starts With Sources

Corbis is designed to ground research in external evidence instead of treating every answer as a pure language-generation task.

Depending on the request, that can include:

- academic papers (hybrid search and paper-detail tools)
- FRED economic series and related national macro context
- market intelligence curated in the product (metro-scale metrics and time-series drawn from official and other vetted sources—not a guarantee that every federal statistic is available live or comprehensively)
- web search and page reading **when your plan and policy allow it**

When the model **uses** those tools, responses usually carry something you can verify: citations, URLs, DOIs, structured tool output, or diagnostics in the thread. Answers that are **only** free-form text, with no tool trace, do not come with the same audit trail.

---

### 2. The Product Has Domain-Specific Tools

Corbis is not only a chat box.

It includes tools and workflows that are useful for finance, real estate, economics, and academic research, including:

- paper search, paper details, and **literature search** (a fixed staged pipeline: parallel paper retrieval plus citation-network stages—broader than a single-query paper search, and not the same thing as generic open-web search)
- dataset discovery and FRED batch lookup
- market data: metric definitions, snapshots, screening, comparison, trends, CRE transaction/asking-side analytics, live listings, and REIT-supplemental views over the product's curated Supabase surfaces
- **structured workflows** (see below) for repeatable multi-step outputs
- **document artifacts**: create, update, and retrieve long-form deliverables in the thread
- **spreadsheet generation** for financial-style modeling when the request clearly matches that intent (not offered on every turn)
- **citations**: format in common styles, verify BibTeX against the academic index; related export paths exist on some surfaces (for example MCP)
- **delegated deep work**: sub-agent tools that run focused tool loops for larger tasks

Linking an academic profile to OpenAlex is also supported for users who want verified author identity in research flows.

Together, that makes it easier to move from a question to a usable piece of work.

---

### 3. Workflows Hold the Process Steady

General chat is useful when you want flexibility.

Corbis also supports workflows for cases where the process itself matters:

- **Referee Report**
- **Technical Audit**
- **IC Memo**
- **Market Outlook**
- **LOI Builder**

These are useful when you want a more repeatable path from intake to output.

---

### 4. Projects Keep Research Organized

Projects give you a stable workspace around the research:

- related chats
- shared custom instructions
- shared files available for project chat context
- saved papers kept with the project for curation and reuse

This is important for work that lasts longer than one session or involves a real deliverable.

---

### 5. Billing and Access Can Match How Teams Actually Work

Corbis supports both personal plans and organization access.

That matters when:

- an individual researcher is paying directly
- a team admin is buying seats for an organization
- a user moves from a personal plan into an organization membership

See [Organization Memberships](/docs/organization-memberships) for the exact behavior.

---

### 6. Corbis Can Travel With You Through MCP

If you prefer to work in another AI client or editor, Corbis exposes **many** of its research, data, market, and citation tools through MCP—not a one-to-one copy of every in-chat tool (for example, some artifact and spreadsheet paths are centered in the app). OAuth scopes and plan tier also affect which tools you can discover and run.

That means your research stack does not have to live in one interface. On a **paid Claude plan**, install the live **Corbis plugin for Claude** and sign in with your Corbis account. **Claude Free** supports **one custom MCP connector** instead; the fallback in [MCP Client Setup](/docs/mcp-guide#mcp-client-setup) uses the name Corbis, your universal MCP URL, and OAuth without an API key. Managed Claude accounts may need administrator approval. The **ChatGPT directory plugin is coming soon**, while its custom MCP connector works today with OAuth. Cursor also connects through OAuth without a key; Claude Code and Codex have bearer-key setup recipes.

Choose your client in [MCP Client Setup](/docs/mcp-guide#mcp-client-setup).

See [Understanding MCP Tools](/docs/mcp-guide).

---

### Who Corbis Fits Best

Corbis is a good fit if you care about:

- tool-backed citations and traceable sources when you need them
- economic, market, CRE, listing, and research data grounded in curated product datasets and tools
- structured research outputs and workflows
- project-based research organization
- organization billing and seat-based team access

If you only need a fast general chat for casual questions, a general-purpose AI tool may be enough. If you need evidence-backed work, Corbis is built for that job.

---

## Guide to Structured Workflows

> Learn how to use Corbis workflows for Referee Report, Technical Audit, IC Memo, Market Outlook, and LOI Builder runs.

Corbis workflows are for tasks that need a repeatable process, not just a good answer.

In a normal chat, you decide the structure as you go. In a workflow, Corbis guides you through a defined sequence so the work is easier to review, resume, and hand off.

Corbis currently offers **five** structured workflows, matching the in-app catalog: **Referee Report**, **Technical Audit**, **IC Memo**, **Market Outlook**, and **LOI Builder**.

---

### When to Use a Workflow

Use a workflow when:

- the task has clear stages
- you want a more consistent output format
- you need to come back later and continue the same run
- you want the product to keep the process organized for you

Use normal chat when you are still exploring, brainstorming, or pressure-testing a question from multiple angles.

---

### Current Workflows

#### Referee Report

Use **Referee Report** when you need a structured evaluation of an academic manuscript or paper.

It is best for:

- journal review support
- internal research assessment
- manuscript critique
- summarizing strengths, weaknesses, and open questions

You can start from a **PDF or manuscript upload**, then move through guided analysis steps. **Referee Report** is built for longer jobs: after you submit a step, work may **continue in the background** while Corbis processes the review. You can **leave the page and come back**; the app **checks status and picks up progress** when the job is ready, so you are not tied to keeping one tab open for the full run.

The full run has **nine** stages in order: **upload** (manuscript), **intake**, **novelty**, **mechanism**, **methodology**, **data**, **results**, **triage**, and **report**—the same sequence as the in-app stepper.

Read the dedicated guide: [Referee Report Workflow](/docs/referee-report-workflow).

#### Technical Audit

Use **Technical Audit** when you need a **pre-submission technical check** focused on internal correctness, not citation hunting or novelty scoring.

It is best for:

- math and notation consistency
- statistical-specification and table/number alignment
- cross-reference and definition breaks before you submit

You submit the manuscript (and optional LaTeX source); the job runs in the **background** like Referee Report. You can leave and return while Corbis polls for status and the finished audit report.

Read the dedicated guide: [Technical Audit Workflow](/docs/technical-audit-workflow).

#### IC Memo

Use **IC Memo** when you need to turn an investment opportunity into a structured memorandum.

It is best for:

- investment committee preparation
- diligence support
- thesis building
- gathering supporting evidence and counter-evidence

The path in the product is **intake → plan → academic retrieval → web retrieval → synthesis → counterevidence → draft memo** (seven guided steps).

#### Market Outlook

Use **Market Outlook** when you need a thesis-driven view of a market, theme, or sector.

It is best for:

- market entry analysis
- strategy work
- scenario planning
- turning a theme into a structured outlook

Evidence can include **academic sources** and **optional web search** (you can toggle web in intake). The sequence is **intake → theme → evidence → scenario → draft → counterevidence → report** (seven steps).

#### LOI Builder

Use **LOI Builder** when you need a professional letter of intent for a commercial real estate transaction.

It is best for:

- acquisition LOIs
- lease LOIs
- clause-based drafting
- turning deal inputs into a clean first draft

The flow covers **deal intake → research → deal structure → drafting → quality checks → redline-style review → final report/export** (seven steps), aligned with structured CRE LOI practice.

---

### Monthly workflow runs (separate from chat credits)

Workflow billing is **not** credit-metered. Chat **credits** still apply to normal chat, MCP tools, and other non-workflow model use; **workflows** use a **monthly run allowance** on your plan.

- **One launch = one run.** Starting a workflow consumes a single monthly workflow run when you **submit** a durable job (Referee Report, Technical Audit) or complete the **intake** step on step-by-step workflows (IC Memo, Market Outlook, LOI Builder). Later steps in the same run do **not** consume additional runs.
- **Tier limits.** Free and Starter include **no** workflow runs. Paid tiers include a fixed monthly cap (Basic and Academic) or a higher cap (Pro); Enterprise is **unlimited**. See [Plans & Pricing](/docs/plans-and-pricing) and **Settings → Billing** for the limits on your account.
- **Reset.** Usage is stored per user and resets on a **rolling one-month window** from your last workflow reset date (shown in billing when your plan tracks workflow usage).
- **Org members.** If you belong to an organization, your **effective tier** (including org membership) sets the limit; workflow usage is still counted on **your** user account, not the org credit pool.
- **Failed launch.** If intake or submit fails before a usable job is created, the run is **refunded** when the server can detect that failure. A run that fails deep in a background pipeline after launch generally still counts as used.

Org **pooled credits** apply to chat-style usage, not to workflow run quotas.

---

### How a Workflow Run Works

#### Start a run

1. Open the **workflow catalog** at **`/workflows`** (bookmark or type the path in the browser) and choose a card, **or**
2. Use the **sidebar**: **Referee Report** and **Technical Audit** live under the main workflow navigation; **Market Outlook**, **IC Memo**, and **LOI Builder** are under **Deal Center**. Each link goes straight into that workflow so you can start or resume a run.

Then start a **new run** or open a saved one from the workflow page.

#### Complete the guided steps

Each workflow asks for different inputs, but the general pattern is the same:

- provide intake information (including **file upload** where the workflow supports it)
- review each step
- edit or regenerate when needed
- continue once the current step is good enough

#### Resume later

Workflow runs are saved as you go, so you can leave and return later without rebuilding the context from scratch. For **Referee Report** and **Technical Audit**, background processing means you may see **status updates** when you return rather than an instant result on heavy steps.

---

### How to Pick the Right Workflow

Choose **Referee Report** if the central object is a paper or manuscript and you want a full referee-style evaluation.

Choose **Technical Audit** if the central object is a near-final manuscript and you want math, stats, and internal-consistency checks before submission.

Choose **IC Memo** if the central object is an investment decision.

Choose **Market Outlook** if the central object is a market, region, or thesis.

Choose **LOI Builder** if the central object is a transaction document.

If you are not sure yet, start in chat and move to a workflow once the problem is clearly shaped.

---

### Best Practices

- Spend time on the intake step. Better inputs usually produce much better runs.
- Read the intermediate steps instead of skipping straight to the end.
- Correct framing errors early. A bad assumption in step one tends to spread.
- Use Projects if the workflow should share files or instructions with related chats.
- Keep a small set of high-signal reference materials nearby instead of overloading the task with extra context.

---

### Related Guides

- [How to Use Projects](/docs/projects-guide)
- [Referee Report Workflow](/docs/referee-report-workflow)
- [Technical Audit Workflow](/docs/technical-audit-workflow)
- [Quick Start Guide](/docs/quick-start)
- [Plans & Pricing](/docs/plans-and-pricing)

---

## Referee Report Workflow

> A manuscript-review workflow for academic researchers that runs specialist review passes and produces an exportable referee-style report.

The Referee Report workflow is built for academic researchers who want rigorous, structured feedback on a manuscript before it reaches a seminar audience, an advisor, a coauthor meeting, or a journal referee.

It is not a generic paper summary. It is a manuscript-review process that asks the kinds of questions a careful referee would ask: What is the contribution? Is the mechanism clear? Is the empirical design persuasive? Are the data and tables doing enough work? Where would a skeptical reader push back?

Use it when you want Corbis to read a paper as a research object, not as an isolated document.

---

### What the workflow does

Upload a manuscript PDF and Corbis launches a durable background run. The workflow parses the paper, identifies the core claims, and runs parallel specialist passes before synthesizing the findings into a referee-style report.

The output is designed to help you see the paper from the outside:

- how the contribution is likely to be understood
- whether the mechanism is sufficiently developed
- where the methods or identification strategy may be vulnerable
- whether the data and measurement choices support the claims
- whether the reported results are coherent, complete, and persuasive
- which issues should anchor a revision plan

The finished report can be exported and reopened later from Previous Reviews.

---

### Specialist agents

The workflow is organized around specialist review agents. Each one reads the paper through a different scholarly lens:

- **Contribution agent**: evaluates novelty, positioning, relationship to nearby literature, and whether the paper makes a clearly stated contribution.
- **Mechanism agent**: examines the theory, causal story, economic intuition, and whether the results actually support the proposed channel.
- **Methods agent**: reviews the empirical design, assumptions, identification logic, estimation choices, and robustness needs.
- **Data agent**: checks measurement, sample construction, variable definitions, data limitations, and possible threats from selection or coverage.
- **Results agent**: evaluates tables, figures, magnitudes, interpretation, external validity, and whether conclusions exceed the evidence.

Those passes are not presented as five separate essays. Corbis synthesizes them into one coherent referee-style assessment so the output reads like a usable review rather than a pile of model notes.

---

### What happens after upload

1. **Manuscript intake**

   Corbis extracts the manuscript text and prepares the paper for review. The upload screen lets you add optional focus notes, such as "pay special attention to the identification strategy" or "focus on whether the mechanism is supported by the results."

2. **Parallel review passes**

   The specialist agents run in parallel across the major review dimensions. This keeps the review broad enough to catch contribution, mechanism, methods, data, and results issues without forcing every concern through one generic prompt.

3. **Verification and synthesis**

   Corbis checks the review passes for contradictions, ranks concerns by importance, and synthesizes them into an exportable referee report.

4. **Report and exports**

   The final output is saved with the run and can be reopened from the workflow page. Where export actions are available, the report can be downloaded for revision planning, coauthor discussion, or records.

---

### What the report is good for

The Referee Report workflow is strongest when you need an early external read on a manuscript's scholarly argument.

It is useful for:

- pre-submission review before sending a paper to a journal
- preparing for seminars, workshops, and conference presentations
- helping coauthors converge on the highest-priority revision issues
- identifying where the paper's contribution is undersold or overclaimed
- stress-testing identification and mechanism language
- turning scattered concerns into an ordered revision agenda

The goal is not to make the paper more generic. The goal is to expose the likely referee questions while the author still has time to improve the manuscript.

---

### What the report is not

The workflow does not replace a real journal referee, an advisor, or a domain expert.

It also is not a promise that:

- every relevant literature comparison has been found
- every statistical issue has been proved correct or incorrect
- every claim in the manuscript is externally verified
- a favorable report predicts acceptance

For highly technical consistency checks, use [Technical Audit](/docs/technical-audit-workflow). For broad source-backed research, use chat or Projects. For the overall workflow catalog, see [Guide to Structured Workflows](/docs/workflows-guide).

---

### How to get better results

Provide a clean manuscript PDF with selectable text. If there is a specific concern, use the focus field in the upload card.

Good focus notes include:

- "Focus on whether the parallel-trends evidence is convincing."
- "Pay attention to variable construction and whether the tables support the headline claim."
- "Evaluate whether the mechanism is distinguishable from alternative explanations."
- "Treat this as a finance/economics paper and be strict about identification."

Short, targeted instructions help the workflow allocate attention without turning the review into a narrow checklist.

---

### When to choose this workflow

Choose **Referee Report** when the central question is:

> Would a careful academic reviewer find this manuscript convincing, important, and publishable after revision?

Choose **Technical Audit** when the central question is:

> Are the equations, statistics, tables, notation, and references internally correct before submission?

Many researchers use both: first Technical Audit to remove preventable technical defects, then Referee Report to evaluate the paper's broader scholarly case.

---

## Technical Audit Workflow

> A pre-submission manuscript audit that checks math, statistics, data/table consistency, notation, and references before academic submission.

The Technical Audit workflow is for academic researchers who want a precision-first check before a manuscript is submitted, circulated, or presented.

Where the Referee Report workflow asks whether the paper is persuasive as scholarship, Technical Audit asks whether the manuscript holds together technically. It looks for the quiet defects that can weaken a paper even when the idea is strong: missing assumptions, table-text mismatches, notation drift, inconsistent references, unsupported statistical claims, and proof steps that do not follow as written.

Use it when the manuscript is close enough to submission that internal consistency matters.

---

### What the workflow does

Upload a PDF, Word document, LaTeX source, ZIP project, or pasted manuscript text. Corbis builds a structured view of the manuscript, extracts checkable claims, runs specialist audit passes, verifies the findings, and returns a severity-ranked technical report.

The workflow focuses on:

- mathematical derivations and proof logic
- statistical specification and inference
- table, figure, and text consistency
- data definitions and numeric claims
- notation, labels, cross-references, and appendices
- findings that can be explained with a manuscript locus and a suggested fix

The report is meant to be actionable. Each useful finding should tell you what is wrong, where it appears, why it matters, and what to change.

---

### Specialist agents

Technical Audit uses a different agent graph from Referee Report. It is not trying to judge novelty or contribution. It is trying to reduce preventable technical risk.

- **Claim mapper**: builds a manifest of sections, equations, tables, references, notation, and extractable checkable claims.
- **Math auditor**: reviews derivations, assumptions, proof steps, theorem statements, and equation logic.
- **Stats auditor**: checks specifications, estimands, standard errors, identification language, inference claims, and econometric consistency.
- **Data/table auditor**: compares table values, captions, text claims, sample descriptions, variable construction, and reported magnitudes.
- **Verifier**: challenges candidate findings, removes weak or advice-only items, deduplicates overlapping issues, and ranks the remaining findings by severity.

This structure keeps the audit focused. A statistical specification issue should not be buried under prose advice, and a broken reference should not crowd out a major mathematical defect.

---

### What happens after upload

1. **Load sources**

   Corbis accepts manuscript files or pasted text. LaTeX source gives the workflow more structure for equations, labels, cross-references, and table logic. PDF and Word uploads are still useful, but source files usually provide better technical coverage.

2. **Map the manuscript**

   The workflow builds a document manifest: sections, equations, tables, notation, theorem-like objects, references, and candidate claims. This gives the auditors a structured map rather than a single unorganized text block.

3. **Audit in parallel**

   Specialist auditors examine math, statistics, data/table consistency, notation, and cross-document consistency. Each pass is designed to produce concrete findings anchored to a location in the manuscript.

4. **Verify and prioritize**

   Candidate findings are challenged, filtered, deduplicated, and sorted. The final report favors fewer, stronger findings over a long list of vague recommendations.

5. **Export the audit**

   The completed audit is saved with the run and can be reopened later. Where export actions are available, the report can be downloaded for revision planning or coauthor review.

---

### What the report is good for

Technical Audit is useful when you want to catch issues that are hard to see after weeks or months inside the same draft.

It is especially useful for:

- final pre-submission checks
- coauthor handoff before a revision sprint
- validating equation numbering, references, and notation after major edits
- checking that tables and text tell the same story
- identifying missing assumptions in propositions, proofs, and empirical claims
- catching statistical language that overstates what the specification supports

The workflow is designed to help authors remove avoidable objections before a referee, discussant, or seminar audience finds them first.

---

### What the report is not

Technical Audit is not a novelty review, literature review, or acceptance prediction.

It also does not guarantee that:

- every proof has been formally verified
- every table value has been replicated from raw data
- every bibliography entry is complete
- every image-embedded equation has been parsed
- every empirical result is externally reproducible

For a broader scholarly assessment, use [Referee Report](/docs/referee-report-workflow). For flexible research exploration, use chat or Projects. For the full catalog, see [Guide to Structured Workflows](/docs/workflows-guide).

---

### How to get better results

Use the richest source you can provide.

Best inputs:

- a LaTeX project ZIP with the main `.tex` file and included source files
- a single `.tex` manuscript source
- a PDF with selectable text
- a Word document when source files are not available
- pasted source text for quick checks

Good optional context includes:

- "Focus especially on the IV first stage and exclusion restriction."
- "Check whether table captions, text, and variable definitions are aligned."
- "Audit theorem statements and proof assumptions."
- "Look for notation drift between the model section and empirical section."

The workflow works best when the manuscript is already a serious draft. If the paper is still early and the main question is whether the research idea is promising, start with Referee Report or chat instead.

---

### When to choose this workflow

Choose **Technical Audit** when the central question is:

> What technical issues would embarrass or weaken this manuscript if they reached a referee?

Choose **Referee Report** when the central question is:

> Does the paper make a convincing scholarly contribution, and where would a referee push back?

Used together, the two workflows cover different risks: Technical Audit reduces internal correctness risk; Referee Report evaluates the paper's contribution, argument, and revision priorities.

---

## How to Use Projects

> Learn how to use Projects to group chats, apply shared instructions, upload reference files, and save papers in one workspace.

Projects are workspaces for research that should stay together.

If a normal chat is a single conversation, a project is the container around a whole body of work: related chats, shared instructions, uploaded files, and saved papers.

Project files are available to chats in that project for context retrieval. Saved papers are a project curation surface today: they keep important sources attached to the workspace, but they are not a separate automatic retrieval pool for every answer.

---

### What a Project Contains

A project can hold:

- chats tied to the same research effort
- custom instructions that apply across those chats
- reference files shared across the project
- saved academic papers you want to keep with the work

This makes projects the right place for multi-step tasks like diligence, market research, client work, and paper development.

---

### Creating a Project

1. Open **Projects** in the sidebar (under the collapsible **Projects** group).
2. Start a new project from the list page.

The create dialog asks for:

- a required **project name**
- an optional **description**
- an optional **icon**
- an optional **color**

Custom instructions are **not** part of the create dialog. After the project exists, open it and use the **Custom Instructions** tab to add standing guidance for all chats in that project.

#### Plan limits and billing prompts

How many projects you can create, and how many reference files each project may hold, **depends on your plan**. Corbis reads those limits from your subscription entitlements and surfaces the current caps in the project UI (for example on the projects list and in the **Files** area).

Some tiers treat reference files as **unlimited** internally (the product uses a sentinel value of **`-1`** for “no numeric cap”). When that applies, the interface shows **unlimited** instead of a number.

If you are already at your project count limit, you stay on the same screen: the app shows a **Project limit reached** notice with an explanation and a **Go to Billing** link to **Settings → Billing** (`/settings?tab=billing`). The create flow on the list page can show the same kind of alert inside the dialog when creation fails for that reason—again, a prompt and link, not an automatic redirect.

---

### Chats and Projects

#### Assigning a chat to a project

Each chat can be linked to **one** project or to **no** project.

1. Open the chat.
2. Use the **folder-style project control** in the **chat header** (next to other header actions). It shows the current project name, or **No Project**.
3. Pick a project from the menu, or choose **No Project** to clear the link.

Behind the scenes, that choice is **saved on the chat**: the app sends an update to the server so the chat’s stored `projectId` matches what you selected. The next time you open that chat, it loads with the same project association until you change it again.

#### Changing project after the thread has started

Once the conversation has **at least one message** (from you or the assistant), you **cannot** move that same thread to a different project from the header menu. That rule keeps long transcripts tied to one project’s context.

If you try to switch anyway, Corbis explains that you need a **new chat** and offers **Start new chat**. Confirming opens a fresh chat; your newly chosen project is pre-selected there so you can continue under the right workspace without reassigning manually.

On a **brand-new** chat—with no messages yet—you can change or clear the project from the header as many times as you need before the first send.

---

### Working Inside a Project

Open a project from **Projects** in the sidebar, then use the tabs across the top.

#### Chats

Lists chats that belong to this project. New chats you start with this project selected appear here over time.

#### Custom Instructions

Use this tab when every chat in the project should follow the same standing guidance. These instructions are applied together with Corbis’s default system behavior for chats in this project.

Examples:

- writing style preferences
- recurring analysis rules
- deal-specific framing
- a consistent output structure

#### Files

Upload reference files that should be available across the project. How many files you can store **depends on your plan**; the project UI shows your effective cap (including **unlimited**, when your tier allows it).

#### Papers

Saved academic papers live here. This is useful when you want to keep the most relevant sources attached to the project instead of hunting for them again later. There is no separate “papers quota” in entitlements—the emphasis is on useful curation, not an arbitrary paper count cap.

If you want a specific saved paper used in an answer, refer to it directly in chat or use the paper-search/detail tools so the response can cite the source it actually retrieved.

#### Guide

The project **Guide** tab explains how project context works and how to use the available space well.

---

### When to Use a Project

Use a project when:

- the work will last more than one chat
- multiple chats should share the same instructions
- you want reference files available across conversations
- you want to keep saved papers with a specific deliverable

Do not force everything into projects. For one-off questions, normal chat is usually faster.

---

### Good Project Habits

- Create one project per deliverable, thesis, or major workstream.
- Keep custom instructions short and specific.
- Upload only the files that are genuinely useful for the project.
- Save the most important papers instead of trying to save everything.
- Delete old projects carefully. The UI treats deletion as permanent.

---

### Related Guides

- [Quick Start Guide](/docs/quick-start)
- [Guide to Structured Workflows](/docs/workflows-guide)
- [Organization Memberships](/docs/organization-memberships)

---

## Understanding MCP Tools

> Install the Corbis plugin for Claude, connect ChatGPT or Cursor with OAuth, or use bearer keys with Claude Code and Codex.

The **Model Context Protocol (MCP)** lets other AI clients call tools from Corbis.

That means you can use Corbis research and data tools inside products like **Claude**, **ChatGPT**, **Cursor**, **Claude Code**, **Codex**, and other MCP-compatible clients instead of staying only inside the Corbis web app.

---

### Why People Use MCP

MCP is useful when you want to:

- run Corbis tools from your editor or another AI interface
- keep your research flow in one place
- bring source-backed paper search and economic data into another client
- avoid copying results back and forth by hand

---

### Client setup

#### Claude

Claude plugins require a paid Claude plan. Install the Corbis plugin from its Claude listing, then connect it by signing in with your Corbis account. No API key is needed.

[Open Claude plugin for Corbis](https://claude.ai/customize/plugins/id/c8d4be38-e8ed-459a-a79a-605e809a384f%40anthropic-plugin-directory)

##### Claude Free: connect with MCP

Claude Free supports one custom connector. Add a custom connector named Corbis using the universal MCP URL, then sign in with your Corbis account through OAuth. No API key is needed.

```text
https://www.corbis.ai/api/mcp/universal
```

[Claude Free: connect with MCP](https://claude.ai/customize/connectors?modal=add-custom-connector)

#### ChatGPT

Create an app connector named Corbis, use the universal URL, and complete OAuth. Corbis issues refresh tokens, so the connection renews on its own and does not need a daily reconnect. ChatGPT directory plugin coming soon. Connect with MCP today.

```text
https://www.corbis.ai/api/mcp/universal
```

[Open ChatGPT connector settings](https://chatgpt.com/plugins#settings/Connectors?create-connector=true)

#### Cursor

Add the JSON server entry below, then approve the browser sign-in Cursor opens — Cursor detects the Corbis OAuth server automatically. No API key is needed: Cursor may ignore static Authorization headers when OAuth discovery is available, so OAuth is the supported Cursor path.

```json
{
  "mcpServers": {
    "corbis": {
      "url": "https://www.corbis.ai/api/mcp/universal"
    }
  }
}
```

#### Claude Code

Run the command below after setting CORBIS_MCP_API_KEY in the shell that launches Claude Code.

```bash
claude mcp add --transport http corbis https://www.corbis.ai/api/mcp/universal --header "Authorization: Bearer ${CORBIS_MCP_API_KEY}"
```

### MCP Tool Catalog

This catalog is generated from Corbis's canonical MCP registry. Access depends on your account and key configuration.

- `corbis_sidebar`: Corbis Research Workspace (research). Corbis native research extension.
- `corbis_thread`: Corbis Thread Workspace (research). Corbis native research extension.
- `corbis_onboarding`: Corbis Onboarding (research). Corbis native research extension.
- `search_mentions`: Search Paper Mentions (research). Corbis native research extension.
- `search_papers`: Search Papers (research). Hybrid academic paper search.
- `get_paper_details`: Get Paper Details (research). Fetch full metadata for a single paper.
- `get_paper_details_batch`: Get Paper Details Batch (research). Fetch full metadata for multiple papers in one call.
- `literature_search`: Literature Search (research). Managed staged literature review and synthesis pipeline.
- `research_opportunity_map`: Research Opportunity Map (research). Embedding-based candidate gap, bridge, and conflict mapper for research ideation.
- `literature_retrieve`: Literature Retrieve (research). Retrieve paper candidates for local external-agent synthesis.
- `paper_discovery`: Paper Discovery (research). Multi-facet paper discovery and deduped triage over the paper layer.
- `literature_positioning`: Literature Positioning (research). Position a thesis against nearby paper-layer literature with verification-needed signals.
- `evidence_pack`: Evidence Pack (research). Build paper-level evidence packs for claim-specific review.
- `claim_verification`: Claim Verification (research). Premium paper-layer claim verification precheck with fail-closed sparse retrieval.
- `fred_search`: FRED Search (economic). Search FRED economic series metadata.
- `fred_series_batch`: FRED Series Batch (economic). Fetch multiple FRED series in one call with transformed observation units, original rawUnits, and explicit transformation metadata.
- `get_market_data`: Get Market Data (market). Get a CRE market snapshot.
- `get_metric_definitions`: Get Metric Definitions (market). Return schema and definitions for CRE market metrics.
- `compare_markets`: Compare Markets (market). Compare multiple CRE markets side by side.
- `search_markets`: Search Markets (market). Rank or search markets by metric.
- `screen_markets`: Screen Markets (market). Multi-factor CRE market screening.
- `get_national_macro`: Get National Macro (market). Fetch stored national macroeconomic indicators with requested/returned date ranges and row-limit truncation. Source freshness and ingestion completeness require separate verification.
- `get_market_trends`: Get Market Trends (market). Fetch metro-level historical trend series.
- `get_cre_market`: Get CRE Market (market). CRE market snapshot by property type with national benchmarks.
- `search_cre_markets`: Search CRE Markets (market). Rank metros by a CRE metric within a property type.
- `get_cre_trend`: Get CRE Trend (market). Annual CRE transaction trend for a metro.
- `search_cre_listings`: Search CRE Listings (market). Live for-sale / for-lease CRE inventory.
- `get_cre_comps`: Get CRE Comps (market). Individual securitized (CMBS) property comps.
- `get_cre_operating`: Get CRE Operating Fundamentals (market). Same-store rent/NOI growth + occupancy by metro × sector (REIT supplementals).
- `get_reit_transaction_caps`: Get REIT Transaction Caps (market). National by-sector REIT acquisition/disposition cap rates.
- `get_cbre_cap_rate_survey`: Get CBRE Cap Rate Survey (market). CBRE Cap Rate Survey history and segment/class drill-downs (survey expectation, not closed deals).
- `internet_search`: Web Search (web). Managed web search with Corbis-side summary.
- `read_web_page`: Read Web Page (web). Extract a web page for analysis.
- `web_search_retrieve`: Web Search Retrieve (web). Retrieve web result cards for local external-agent synthesis.
- `web_pages_retrieve`: Web Pages Retrieve (web). Retrieve bounded page extracts for local external-agent synthesis.
- `deep_research`: Deep Research (web). Run a managed multi-engine web research synthesis pass.
- `export_citations`: Export Citations (citation). Format supplied citation metadata into export files for MCP clients.
- `render_citations`: Render Citations (citation). Render corpus-verified citations from OpenAlex IDs, DOI IDs, chat citation sets, document snapshots, or run IDs.
- `top_cited_articles`: Top Cited Articles (research). Rank highly cited papers within journals.
- `format_citation`: Format Citation (citation). Format citations in multiple styles.
- `search_datasets`: Search Datasets (research). Discover relevant external datasets with nullable absolute HTTP(S) links; invalid catalog link text is returned as null.
- `find_academic_identity`: Find Research Identity (identity). Search for the user research profile candidate.
- `confirm_academic_identity`: Confirm Research Identity (identity). Link or unlink public research profile anchors.
- `link_academic_identity`: Link Research Identity (identity). Link the authenticated user research identity after they confirm their public profile anchors. May refresh public evidence and research context.
- `unlink_academic_identity`: Unlink Research Identity (identity). Remove the authenticated user research identity link after they request it. May refresh research context using public background searches.
- `get_research_pulse`: Get Research Pulse (identity). Return the authenticated user research pulse; may refresh linked public OpenAlex or ORCID evidence. Reading usage may grant or refill credits and reset credit or workflow usage counters when account maintenance is due.
- `get_data_freshness`: Get Data Freshness (market). Aggregate data-through and last-refreshed signals for Corbis data sources.
- `retrieve_document`: Retrieve Document (document). Retrieve an existing artifact document.
- `query_corbis`: Query Corbis (workflow). Delegate a managed tool-grounded sub-query to Corbis.
- `query_corbis_retrieve`: Query Corbis Retrieve (workflow). Retrieve compact Corbis evidence packets for local external-agent synthesis.
- `referee_report_evaluate`: Evaluate Referee Report (workflow). Evaluate local external-agent referee report inputs and return a calibrated deliverable.
- `technical_audit_evaluate`: Evaluate Technical Audit (workflow). Evaluate local external-agent technical audit findings and return a calibrated deliverable.
- `verify_bibtex`: Verify BibTeX (citation). Audit BibTeX reference lists for correctness and completeness.

---

### Choose Your Client

#### Claude: plugin on paid plans, custom connector on Free

The **Corbis plugin is live in the Claude directory** and requires a **paid Claude plan**. On paid Claude, this is the preferred setup. Open the listing from [MCP Client Setup](/docs/mcp-guide#mcp-client-setup), install it, then connect by signing in with your **Corbis account** and approving access. No API key is needed.

On **Claude Free**, use a **custom MCP connector** instead; Claude Free supports **one custom connector**. This is also a fallback on managed Claude plans when your organization permits custom connectors but plugin installation is unavailable. Open the Claude custom connector fallback in [MCP Client Setup](/docs/mcp-guide#mcp-client-setup), name it **Corbis**, paste your Corbis universal MCP URL, and sign in with your Corbis account to approve OAuth access. No API key is needed. Organization policy may require an administrator to enable access.

#### ChatGPT: connect with MCP today

The **ChatGPT directory plugin is coming soon**. You can already use Corbis through a **custom MCP connector** with OAuth. Open ChatGPT setup from [MCP Client Setup](/docs/mcp-guide#mcp-client-setup), name the connector Corbis, paste your Corbis universal MCP URL, and sign in with your Corbis account.

ChatGPT calls its custom connector setup **New Plugin**. That dialog creates your connection; it does not mean the Corbis directory plugin is available. No API key is needed.

#### Cursor: connect with OAuth

Use **Add to Cursor** or the downloadable JSON in **Settings → API Keys**, then complete the browser sign-in and consent flow. The config contains the MCP URL alone, with no API key.

#### Claude Code, Codex, and clients that accept bearer headers

Create a **personal MCP API key** in **Settings → API Keys**. Copy it when it is shown: tokens are only revealed once. Settings provides a copyable Claude Code command and Codex configuration. The Claude Code command is also in [MCP Client Setup](/docs/mcp-guide#mcp-client-setup).

For manual setups, use your Corbis app origin (scheme, host, and port if any) plus **`/api/mcp/universal`**. Send the key in an **`Authorization: Bearer …`** header. Prefer **streamable HTTP** unless your client requires another transport.

---

### Authentication (API key vs OAuth)

- **Personal MCP API keys** — Created in **Settings → API Keys**. Use this path for clients that let you set a custom header (Claude Code, Codex, and similar): send the key as an `Authorization: Bearer …` header.

- **OAuth** — Used when the client signs you in and you approve access in the web app. The **Claude plugin or custom connector**, **ChatGPT custom connector**, and **Cursor** use this path without a personal key. On paid Claude, prefer its plugin listing. Claude’s custom connector fallback, ChatGPT, and Cursor use the bare MCP URL to start sign-in.

OAuth access tokens use the same `Authorization: Bearer …` header style after you complete the client's login flow.

**Security:** Credentials in the URL query string (`?apikey=` / `?token=`) are **rejected in production** — they leak through logs, referrers, and shared links. They work only against a local development server. Always use a **Bearer header or OAuth**.

**Account-level access:** Claude, ChatGPT, and Cursor OAuth connections use your account and approved scopes. They do not inherit a personal key’s tool allowlist or research defaults, and revoking a key does not revoke an OAuth connection. Manage approved OAuth clients in **Settings → API Keys**. Revoking a connection stops future authorization-code and refresh-token use; an already issued access token can remain valid for up to **24 hours**.

OAuth scope and consent details for implementers are documented in **`lib/mcp/OAUTH2_IMPLEMENTATION.md`** in the repository (not required reading for basic API-key setup).

---

### Advanced / other surfaces

Prefer **`/api/mcp/universal`** for new setups. Other routes exist for compatibility and discovery:

- **`/api/mcp/sse`** and **`/api/mcp/message`** — Legacy SSE transport pair for clients that need a dedicated SSE URL instead of streamable HTTP on the universal route.
- **`/.well-known/oauth-protected-resource`**, **`/.well-known/oauth-authorization-server`**, **`/.well-known/openid-configuration`** — OAuth / OpenID discovery metadata for clients that probe well-known URLs.
- **`/api/mcp/oauth/register`**, **`/api/mcp/oauth/authorize`**, **`/api/mcp/oauth/token`** — Dynamic registration, authorization, and token exchange for supported OAuth integrations.

This section names routes only; it is not a full OAuth tutorial.

---

### Practical Tips

- For bearer-key clients, create separate keys for separate devices or clients.
- Name keys clearly so you can revoke the right one later.
- Treat MCP keys like passwords; revoke and replace any exposed key.
- If a tool seems missing, check your plan, approved OAuth scopes, or bearer key configuration.
- If a client offers both modern HTTP MCP and older SSE-based options, prefer HTTP on `/api/mcp/universal` unless you know you need the legacy path.

---

### Common Questions

#### Do I need a paid Corbis plan to use MCP?

No. Most Corbis MCP tools work on every **Corbis plan**, including Corbis Free: paper search, citation tools, FRED economic data, and the CRE market-data tools among them. A small set of advanced tools (such as deep research, web search and page reading, literature search, claim verification, the referee and technical-audit evaluators, and managed Corbis queries) is enterprise-only. Your exact tool list also depends on approved OAuth scopes or your key configuration, so the authoritative answer is the `tools/list` response on your own connection (the tool list your client shows is that response). The `docs://tool-access` MCP resource explains the tier, scope, and key-allowlist rules behind it, and your current plan and limits are in Corbis settings.

Claude’s plan requirements are separate: installing the Claude plugin requires a paid Claude plan, while Claude Free supports one custom MCP connector.

#### Can I use Corbis from my editor?

Yes. That is one of the main MCP use cases.

#### Can I connect more than one client?

Yes. Approve each OAuth client through its sign-in flow. For bearer-key clients, create separate keys so you can revoke them independently.

#### Where do I get help if the connection fails?

Start in **Settings → API Keys** and check the endpoint plus your OAuth connection or bearer key, depending on the client. If that still fails, contact [Corbis support](/contact).

---

### Further reading (repository)

If you are working from a checkout of the Corbis codebase:

- **`docs/ai-sdk/mcp/`** — Corbis MCP guides (Cursor plugin, Claude Code, Codex, and related).
- **`lib/mcp/CHATGPT_GUIDE.md`** — ChatGPT-oriented setup notes.

---

### Related Guides

- [Quick Start Guide](/docs/quick-start)
- [Plans & Pricing](/docs/plans-and-pricing)

---

## Plans & Pricing

> Live pricing, plan limits, and billing basics. Dollar amounts come from Stripe (refreshed on a short delay); limits and feature flags are merged from your plan configuration.

Corbis shows current pricing and plan limits on the live **Plans & Pricing** screen in the app (`/docs/plans-and-pricing`). Prices follow Stripe (with a brief cache so values are not literally per-second); caps and features on that screen combine that with the app’s plan settings.

This document exists as a stable summary for the documentation index and plain-text documentation exports.

---

### What Changes by Plan

Depending on your plan, Corbis may vary things like:

- credits (a **one-time pool** on Free; a **monthly allowance** on paid plans that resets each billing cycle) and other usage limits
- project limits and files per project
- workflow availability and monthly workflow runs
- model access
- MCP access
- organization features

For exact current values, use the live pricing page instead of relying on a copied table.

---

### Billing Basics

In the current product:

- subscriptions can be monthly or yearly
- plans auto-renew unless cancelled
- billing is managed through Stripe
- cancellation keeps access through the end of the current billing period

If you are on an organization membership, billing may be handled by your organization admin rather than by your personal account.

See [Organization Memberships](/docs/organization-memberships).

---

### Where to Check Current Details

Use:

- the public **Plans & Pricing** page (`/docs/plans-and-pricing`) for current pricing
- **Settings → Billing** for your own subscription and invoices
- **Settings → Team** for organization billing and seats

---

## Organization Memberships

> How Corbis organization billing, seats, invitations, SSO and SCIM, roster privacy, org policies, governance exports, and the personal-plan handoff work.

Corbis organizations let one admin buy a team subscription, invite users by email, and manage access, policy, and billing from a single account.

This guide explains what happens when a team is created, how seats and credits are counted, how invitations are accepted or declined, how single sign-on and directory provisioning work, and what happens if an invited user already has a personal subscription.

For current plan details, see [Plans & Pricing](/docs/plans-and-pricing).

---

### At a Glance

| Topic | How Corbis works |
|------|------|
| Billing owner | The organization admin manages the organization subscription |
| Supported organization tiers | Academic organizations use the Academic tier; corporate organizations use Basic or Pro |
| Billing cadence | Monthly or annual. Admins can switch cadence in Settings when the organization pays by card |
| Seat capacity | Paid seats plus any complimentary seats granted by Agentic Assets. Between 1 and 250 total |
| What uses a seat | The admin, each active member, and each outstanding invitation that has been sent but not yet accepted or expired |
| What does not use a seat | Declined invitations and removed members do not count toward seats |
| Invite expiration | Invitations expire after 7 days if they are not accepted |
| How you join | The email link opens **Settings → Team** and shows a **review** step; joining requires **explicit confirmation**. Opening the link does not join you automatically |
| Declining | You can decline an invitation in Settings; that **frees a seat** for the team |
| Who can accept | You must sign in with the same email address that was invited |
| Email requirements | You must have a verified email before accepting |
| Chat credits | Members draw from the shared organization credit pool when one is set up |
| Workflow runs, projects, files | Counted per member, not pooled |
| Member list privacy | Admins can hide the full member list from non-admins; members then see only themselves on the roster |
| Organization policies | Admins can force zero data retention and force stable output for the whole team |
| Governance | Admins can export a redacted AI-action audit trail and an aggregate research activity report |
| Directory integration | SAML single sign-on and SCIM user provisioning are available; connection setup is handled by Agentic Assets |
| Admin handoff | An admin can transfer the admin role to another active member |
| If you already have a paid personal plan | Corbis asks for confirmation, then accepts the invite and schedules the personal plan to cancel at period end |
| During the overlap | You keep the higher of the personal tier and organization tier until the personal plan ends |
| If org access ends early | Corbis attempts to restore the frozen personal balance and workflow state |

---

### For Organization Admins

The organization admin is the billing owner for the team subscription. One account can administer up to **5** organizations.

In practice, the admin can:

- create the organization and start billing
- change the plan, the seat count, and the billing cadence
- cancel or resume the organization subscription
- invite, resend, dismiss, and remove members
- control whether non-admins see the full member list
- set organization-wide AI policies (zero data retention, stable output)
- export governance and research activity reports
- manage the SCIM provisioning token
- transfer the admin role to another active member

Two important rules:

- an organization must have an **active** subscription before invitations can be sent
- organization usage is blocked when the organization is not in an eligible billing state

Team management lives at **Settings → Team**. Billing details for your own account live at **Settings → Billing**.

#### Plans and billing

Academic organizations are billed on the **Academic** tier. Corporate organizations are billed on **Basic** or **Pro**. An organization cannot switch between the academic and corporate tier families in-app.

Admins have two ways to change billing:

- **In Settings → Team**, change the plan and the paid seat count directly, then choose **Save changes**. Reducing seats asks for confirmation first.
- **Open Stripe Billing Portal** for payment methods, invoices, and receipts.

A **Switch to annual billing** or **Switch to monthly billing** button appears next to the portal link when the organization pays by card and Corbis can read the current cadence. Changing cadence goes through that dedicated control rather than the plan selector, because a plan change and a cadence change are handled separately. Organizations billed by invoice (for example NET-30) cannot change plans or cadence through the hosted portal; those admins use the in-app controls instead.

Credit allowances are **monthly regardless of billing cadence**. An annual organization is refilled every month for twelve months rather than receiving a year of credits up front.

Admins can also **Cancel subscription** from Settings → Team. Cancelling schedules the subscription to end at the end of the paid period, and a **Resume subscription** button appears until that date passes.

#### How seats are counted

Total capacity is the **paid seat count plus any complimentary seats**. Complimentary seats are granted by Agentic Assets and are not billed through Stripe; paid seats are the quantity on the Stripe subscription. Total capacity is between 1 and 250.

These count as occupied seats:

- the admin account
- every active member
- every **outstanding invitation** (email sent, not yet accepted, not yet expired)

Sending an invitation reserves a seat for that person until they join, you remove the invitation, it expires, or they **decline**.

**Declined** invitations do **not** use a seat. Someone who declined may still appear on your team list so you can send a new invitation to the same address when you are ready. **Expired** invitations stop holding seats; Corbis cleans them up nightly, and you can invite that person again.

To reduce abuse, sending invitations is **rate-limited per organization** (up to **20** new invite or resend attempts per hour in the current product). If you hit the limit, wait a short time and try again.

#### How invitations behave

Invitations are sent by email and expire after **7 days**.

If an invitation is not accepted in time:

- it stops holding a seat once it expires
- it will not work as a valid join link after that
- you can send a new invitation to the same email when you have room and the organization subscription is active

If someone **declines**:

- they do not join, and their seat is freed
- the declined row stays visible so you can resend the invitation or remove the row from the list

#### Member list visibility

By default, members can see the full team roster. The admin can turn off **Show member list to team** so that **non-admin members only see their own row**. Admins still see the full list. Use this when you want to limit visibility of who else is on the team.

#### Transferring the admin role

An admin can hand off billing and team ownership without contacting support. In the member list, choose **Make organization admin** on an active member and confirm **Transfer admin role?**.

The transfer takes effect immediately. The previous admin keeps their seat and membership but loses billing and team management access, so make sure the new admin is the right person before confirming. If another change to the organization lands at the same time, the transfer is refused and you can retry.

#### Organization AI policies

Two organization-wide settings in **Settings → Team** apply to every active member working in that organization context.

##### Force zero data retention

When **Force zero data retention** is on, covered AI requests made while the organization is active force request-level zero data retention through Vercel AI Gateway, which asks Gateway to route only to compliant providers and fallbacks. This applies to active team members under that organization context even if the workspace-level default is off.

Two effects members will notice:

- **The model list gets shorter.** Only models that support Gateway zero data retention and disallow prompt training remain selectable.
- **Some capabilities are blocked.** Features that must run directly on a model provider outside AI Gateway are refused rather than sent, so the setting cannot be bypassed. If the policy leaves no eligible model at all, Corbis fails closed and asks the member to contact their administrator instead of quietly falling back.

Turning it off means the organization stops forcing the setting and covered requests use the app default. This setting does not verify requests made outside AI Gateway.

##### Force stable output

When **Force stable output** is on, Corbis pins generation to its most repeatable setting for every member request in that organization, regardless of each member's own composer setting. Use this when your team needs answers to be as reproducible as possible across runs. Members can still see that stable output was applied on each response.

#### Governance and reporting

Admins can export two organization reports from **Settings → Team**. Both cover a date window of up to **180 days** and export as **CSV** or **JSON**.

- **AI-action audit browser.** A per-event record of chat requests and tool executions by active members. It is **redacted by design**: identifiers are replaced with stable references, and prompt text, message content, tool inputs and outputs, and raw error text are never included. It does include model, reasoning level, token counts, credit cost, duration, and success or failure.
- **Research activity report.** Aggregate metrics only, such as workflow runs by workflow and status and overall tool activity. It contains no raw user, chat, project, or document identifiers.

Both reports are scoped to each member's organization membership period, so they do not reach back before someone joined.

#### Single sign-on and SCIM

Corbis accounts can sign in with email and password, with Google, LinkedIn, or GitHub, or through your organization's identity provider. Organizations that need centralized control can add **SAML single sign-on** and **SCIM user provisioning**.

**Setting up a connection is handled by the Agentic Assets team, not self-serve.** Contact us to register your identity provider and the email domains that should route to it. Corbis supports service-provider-initiated SAML, which means sign-in starts from Corbis. A tile in your identity provider's dashboard should point at the Corbis SSO entry point rather than sending an unsolicited assertion.

Each email domain your provider asserts must be registered on the connection. If your provider asserts a subdomain (for example `warrington.university.edu` when users type `university.edu`), that subdomain needs to be registered too, or sign-in is refused.

Once configured, an organization is set to one of two enforcement modes:

- **Optional.** Members can sign in with SSO or with any other supported method.
- **Required.** Members must have completed an SSO sign-in tied to your provider to hold organization access. Enforcement applies when Corbis resolves organization access: accepting an invitation, admin actions, and ongoing membership all require it. It does not disable other sign-in methods for the account itself, so a member who signs in another way can still reach their personal workspace but will be blocked from organization access until they complete one SSO sign-in.

**SCIM** lets your identity provider create, update, and deactivate Corbis members automatically. Admins manage it in **Settings → Team**: copy the SCIM base URL, generate or rotate a bearer token (shown once), and revoke it when needed. The organization must be active to issue a token.

Current scope, stated plainly:

- **User provisioning and deprovisioning are supported**, including the common identity-provider patterns for deactivating a user.
- **Groups are read-only.** Corbis exposes membership groups for inspection but does not accept group pushes, so provisioning driven purely by group membership is not supported yet.
- **The organization admin cannot be removed through SCIM.** Transfer the admin role first.
- When SCIM deactivates a member, their organization access and organization-tier entitlement end immediately, and if they had converted from a personal subscription Corbis attempts the same personal-plan restore described below.

---

### For Invited Users

#### Finding your invitations

Pending team invitations appear in several places:

- a badge on the **Team** tab in **Settings**
- an indicator on your account avatar in the sidebar
- a one-time prompt after you sign in, which links to **Settings → Team**

If you lose the email, open **Settings → Team** to review and respond. You do not need a paid plan to see and respond to a pending invitation.

#### Requirements to accept

To accept successfully, all of the following must be true:

- you are signed in
- your email is verified
- your signed-in email matches the invited email address
- the invitation is still valid and not expired
- the organization subscription is active
- if the organization requires SSO, you have signed in through that provider

If any of those checks fail, you cannot accept until it is fixed.

#### How accepting works (preview, then confirm)

Invitation links take you to **Settings → Team** and open a **review** dialog. Corbis loads a preview of what joining means: the organization name, plan context, and, if you have a personal subscription, what changes about your billing. **Nothing is finalized until you confirm.** Simply opening the link does not add you to the team.

##### If you do not have a paid personal subscription

1. Use the link in the email, or open **Settings → Team**.
2. Review the join preview and choose **Join Team**.
3. Corbis activates your organization membership and organization-based access.

##### If you already have a paid personal subscription

Corbis treats this as a transition, not an instant swap. The confirmation step is required, and the button reads **Join Team and End Personal Plan at Renewal**.

Before you confirm, the preview explains that:

- your personal subscription will be scheduled to end at the end of its current billing period
- your access during the overlap reflects whichever is higher, your personal plan or the organization plan
- your personal credit balance and workflow usage are frozen so they can potentially be restored if team access ends early

Corbis does **not** cancel your personal subscription the moment you confirm. It is scheduled for period end as described.

This confirmation also applies if your personal subscription is on a trial, past due, or unpaid, not only when it is fully paid and active.

##### If your organization uses SSO

Some organizations require **single sign-on**. You must complete SSO with an identity that satisfies the organization's policy **before** acceptance can finish. If SSO is required and your session does not satisfy it, acceptance stays blocked until you sign in through that provider. Your admin or IT team can confirm the expected provider.

##### If something blocks acceptance

| What you see | What it means | What to do |
|------|------|------|
| Single sign-on is required | The organization enforces SSO and your session does not satisfy it | Sign in through your organization's identity provider, then accept again |
| Email verification required | Your Corbis email is not confirmed yet | Finish verifying your email, then return to **Settings → Team** |
| The organization plan changed | The plan changed after you opened the preview | Reopen **Settings → Team** and confirm again so you join under the current plan |
| Confirmation required | You have a paid personal subscription and have not confirmed the handoff | Reopen the invitation and confirm the personal-plan consequences |
| Already a member | The membership is already active | Refresh Settings; no further action is needed |
| Invitation not found or expired | Invitations stop working after 7 days | Ask an admin to send a new one |
| A membership change is in progress | Another billing or membership update is still settling | Wait a moment and try again |
| Billing requires administrator repair | A billing step did not complete cleanly | Contact your organization admin or Corbis support; this needs a person to resolve |

#### Declining an invitation

You can **decline** a pending invitation from **Settings → Team**. If you decline:

- you are not added to the organization
- **you do not use a seat**, and the team can invite you again later if they choose

---

### Personal Plan to Organization Plan Transition

This is the most nuanced part of organization billing, and Corbis handles it explicitly when you confirm joining from a paid personal account.

#### What happens at acceptance time

Corbis re-checks your live subscription state at the moment you confirm rather than trusting the earlier preview. If the two disagree, acceptance stops and asks you to review again rather than committing a change it cannot complete.

When a paid personal user confirms joining an organization:

- Corbis records the team membership
- Corbis snapshots your personal usage state
- Corbis schedules the personal subscription to cancel at period end
- Corbis records a transition state so the system can finish or restore the handoff correctly later

The personal snapshot includes:

- remaining personal credits
- the personal reset date
- workflow usage state

#### What access do you get during the overlap?

Until the personal subscription actually ends, you keep the **higher** tier of:

- the personal subscription tier
- the organization tier

That means:

- if the personal tier is higher, you keep that higher tier until the personal period ends
- if the organization tier is higher, the organization tier can take effect right away
- if both tiers are the same, access stays the same while billing shifts over time

Chat usage during the overlap draws from the **organization credit pool** when the organization has one set up. Your frozen personal balance is held for a possible restore rather than spent.

#### What happens after the personal subscription ends?

Once the personal billing period ends, you continue on the organization tier only.

#### Ending a personal plan early while you are a member

If you are already an active member and you are still paying for a personal plan alongside your seat, **Settings → Billing** offers an explicit action to end the personal plan at the end of its paid term while keeping your organization seat.

This action is available to any active member, including the person who created the organization. It confirms the exact personal subscription it is ending, it never touches your membership or seat, and your paid personal term runs to its normal end date.

#### What happens if organization access ends before then?

If you lose organization access before the original personal billing period would have ended, Corbis attempts to restore the frozen personal state, so a personal plan you already paid for is not lost.

Restore is **best effort, not guaranteed**. If the restore cannot be completed cleanly, Corbis marks the membership as needing repair and alerts the team rather than silently leaving the account in a wrong state. Recovery in that case is handled by a person, not automatically, so contact your admin or Corbis support if you see a repair message.

---

### Billing, Access, and Usage

In Corbis, these are related, but they are not always the same thing.

| Concept | What it means |
|------|------|
| Billing source | Who is currently treated as the payer: personal, organization, or free |
| Effective tier | The access level you can actually use right now |
| Usage source | Whether usage is currently coming from the organization pool or the personal account |

For most organization members:

- billing is organization-based
- effective access is the organization tier
- usage comes from the organization pool

For users in the personal-to-organization overlap window:

- billing and effective access may not match yet
- you may still see personal billing details while already holding organization membership
- Corbis uses the higher tier during the overlap on purpose

#### What is shared and what is per member

| Resource | Shared or per member |
|------|------|
| Chat credits | **Shared** organization pool when the organization has one, with a monthly reset |
| Monthly workflow runs | Per member, based on that member's effective tier |
| Projects and project files | Per member |
| MCP connections and API keys | Per member |

Only the admin sees the organization credit pool balance, on the Team tab. Every member sees their own usage on the Billing tab, which reflects the organization pool when the organization is paying.

---

### If Billing Changes or Access Ends

#### If the organization is waiting on payment

The organization does not become usable until billing is active. Organizations still waiting on payment do not get team access until payment is confirmed, and invitations cannot be sent or accepted in that state.

#### If the organization becomes past due

If an active organization later has a payment failure, Corbis allows a short grace window while payment is retried. In the current implementation, that grace period is up to **7 days**.

#### If the organization is cancelled mid-cycle

If the organization is cancelled but still has paid time remaining, members keep access through the paid-through date. Corbis then removes organization access after that grace window ends.

#### If the organization is suspended

A suspended organization does not grant access and cannot add members. Contact Corbis support to resolve it.

#### If an admin removes a member

When a member is removed:

- the organization membership is removed
- organization-tier access tied to that membership is turned off
- if the user joined from a paid personal plan and there is still restorable personal time left, Corbis attempts to restore that personal state

The same applies when a member is deactivated through SCIM.

---

### Multi-Organization Membership

Yes, you can belong to more than one organization.

Corbis uses a preferred **active organization** so the app can decide which organization context to use for organization-based billing, usage, and policy.

If you belong to multiple organizations, check which one is active before doing work that should count against team usage. Organization policies such as forced zero data retention and forced stable output follow the active organization, so switching context can change which models you see.

Separately, one account can administer up to **5** organizations.

---

### Common Questions

#### Does the email link join me automatically?

No. The link opens **Settings → Team** and a review dialog. You must confirm to join.

#### Can I decline an invitation?

Yes. In **Settings → Team**, you can decline. You will not be added to the team.

#### Does declining free a seat?

Yes. A declined invitation does not count toward the team's seats.

#### Does the admin use a seat?

Yes. The admin is an active organization member and counts toward the seat total.

#### Do outstanding invitations take up seats?

Yes. A non-expired invitation that has been sent but not accepted reserves a seat until someone joins, you remove it, it expires, or the invitee declines.

#### Can I accept an invitation with a different email than the one that was invited?

No. The acceptance flow checks the invited email address directly.

#### Why don't I see everyone on the member list?

Your organization's admin may have turned off the full roster for non-admins. In that case you see only your own row. Admins still see the full list.

#### Why did my model list get shorter after I joined a team?

Your organization may have turned on forced zero data retention, which limits selection to models that meet that policy.

#### Do I lose my personal subscription immediately when I join a team?

No. If you already have a paid personal plan, Corbis schedules it to cancel at the end of the current billing period after you confirm joining.

#### What if my personal plan is better than the organization plan?

You keep the higher personal tier until the personal billing period ends. After that, you continue on the organization tier.

#### What if the organization removes me before my personal billing period would have ended?

Corbis attempts to restore the frozen personal state from when you joined the organization. If that restore cannot complete, Corbis flags the account for repair rather than leaving it in a wrong state.

#### How can members sign in?

With email and password, with Google, LinkedIn, or GitHub, or through your organization's identity provider if SSO is configured.

#### Can our organization use SAML SSO or SCIM?

Yes. Both are supported today. Connection setup is handled by the Agentic Assets team rather than a self-serve configuration screen, so contact us to get started. Admins manage the SCIM token themselves once the connection exists.

#### Can an admin hand the organization to someone else?

Yes. An admin can transfer the admin role to any active member from **Settings → Team**. The change takes effect immediately.

#### Can we pay annually?

Yes. Organizations can be billed monthly or annually, and card-paying admins can switch cadence from **Settings → Team**.

---

### Best Practices

For admins:

- confirm the organization subscription is active before inviting people
- remember that outstanding invitations reserve seats until they are accepted, expire, or are declined
- follow up on declined or expired invitations by sending a new invitation when appropriate
- use member list visibility settings if your policy requires limiting who can see the full roster
- decide on zero data retention and stable output before onboarding the team, since both change what members can do
- transfer the admin role before removing an admin's access or offboarding them
- warn users in advance if joining the team will change a personal paid plan at renewal

For invited users:

- sign in with the exact email that was invited
- verify your email first
- if your organization uses SSO, sign in through that provider before accepting
- use **Settings → Team** if you need to find or respond to invitations without the email
- read the preview and confirmation step carefully, especially if you already have a personal subscription
- if you belong to multiple teams, confirm which organization is active before doing team-billed work

---

## Market Data Sources

> Supabase-backed market, CRE, listings, REIT, academic, dataset, FRED, and national macro surfaces exposed through curated Corbis tools.

Corbis blends **official U.S. statistics**, **curated commercial real estate data**, **live listing and offering-memo facts**, **academic retrieval**, **dataset discovery**, and **on-demand economic series**. Coverage, update cadence, and geography vary by dataset. Not every metric exists for every market, property type, date, or plan.

The chatbot does not expose raw Supabase tables directly. It routes through curated tools and MCP equivalents, with `getDataCatalog` and `getMetricDefinitions` acting as the safest way to discover what exists right now.

### Main Supabase-backed surfaces

- **Economic and demographic market data** - `cbsa_market_data`, `time_series`, `national_macro`, `data_freshness`, `cbsas`, and `airport_activity` power `getMarketData`, `getMetricDefinitions`, `compareMarkets`, `searchMarkets`, `screenMarkets`, `getMarketTrends`, `getNationalMacro`, and map/scatter visualizations.
- **CRE transaction and asking-side analytics** - the `credeals` schema powers `getCREMarket`, `searchCREMarkets`, `getCRETrend`, `getCREComps`, `searchCREListings`, `getCREOperating`, and `getREITTransactionCaps`.
- **Academic and research retrieval** - `academic_documents`, chunks, sections, authors, journals, embeddings, and hybrid-search RPCs power paper search, paper details, literature search, research opportunity maps, top-cited articles, and researcher lookup.
- **Dataset discovery** - open-dataset metadata powers `searchDatasets`. Dataset discovery helps find sources; it is not the same thing as querying every underlying dataset.
- **Private app data** - chats, projects, documents, files, workflows, billing, and organization records are user-scoped. They are not part of the public market-data surface and require authenticated product tools.
- **FRED direct API** - `fredSearch` and `fredSeriesBatch` query FRED directly for additional economic series outside the Supabase tables.

Below, each source family matches source names and categories currently used by tool schemas, the live metric catalog in `data_freshness._metric_definitions`, or the `credeals` tooling layer.

---

### Labor market

- **BLS CES and LAUS** - Metro employment, job change, labor force, and unemployment series (`bls_employment`, `bls_laus`).
- **BLS OEWS and QCEW** - Occupational employment/wage mix and industry employment/wage series (`bls_oews`, `bls_qcew`).
- **Census Quarterly Workforce Indicators (QWI)** - Industry-level hires, separations, turnover, and earnings dynamics where the series is populated (`census_qwi`).
- **Census LODES** - Workplace/residence job flows and sector mix signals (`census_lodes`).

---

### Housing and real estate

- **Census Building Permits Survey (BPS)** - New-construction and supply-pipeline signals.
- **FHFA House Price Index (HPI)** - House-price movement and growth comparisons.
- **HUD Fair Market Rents and LIHTC** - Rent benchmarks, affordable-housing inventory, and low-income housing tax credit indicators where populated (`hud_lihtc`).
- **Zillow Research** - ZHVI, ZORI, inventory, days-to-pending, price-cut share, sale-to-list metrics, and rent/home-value trend context (`zillow`).
- **Housing and affordability pipeline** - `getMarketTrends` accepts source filters such as `housing` and `affordability` for longer metro histories alongside supply and rent-pressure context.

---

### Demographics

- **Census Population Estimates Program (PEP)** - Population levels and growth.
- **American Community Survey (ACS)** - Income, rent, household counts, commute and workforce characteristics, education, poverty, and related demographic context.

---

### Macro and national benchmarks

- **Federal Reserve Economic Data (FRED)** - Macro series via `fredSearch` and `fredSeriesBatch` (CPI, Fed funds, Treasuries, GDP, mortgage and rate context, and other discoverable series).
- **Bureau of Economic Analysis (BEA)** - Regional output and income-style series in metro trend history (`bea`).
- **Curated national macro (`national_macro`)** - In-product national benchmarks such as real GDP, CPI, key Treasury yields, the 30-year mortgage rate, and the Fed funds rate. Use `getNationalMacro` for this table; use FRED tools for ad hoc series.

---

### Business and industry

- **County Business Patterns (CBP)** - Establishment counts, employment, payroll, and industry mix (`census_cbp`).
- **Business Dynamics Statistics (BDS)** - Establishment births, deaths, net formation, and related dynamics (`census_bds`).
- **Business Formation Statistics (BFS)** - Business applications and application intensity (`census_bfs`).
- **Opportunity Insights** - Spending and job-postings momentum style measures where loaded from Affinity or Lightcast-derived sources (`opportunity_insights`).

---

### Financial, lending, and hazard risk

- **FDIC Summary of Deposits** - Banking and deposits-oriented context (`FDIC SOD` / banking metrics).
- **CFPB HMDA** - Mortgage origination and lending-condition signals aggregated for metros (`cfpb_hmda`).
- **FFIEC CRA** - Small-business lending indicators where populated (`ffiec_cra`).
- **SBA FOIA** - SBA loan count, loan amount, jobs-supported, and related small-business credit measures (`sba`).
- **FEMA NRI and OpenFEMA** - Natural-hazard, resilience, disaster-count, and expected-annual-loss indicators used in risk snapshots (`fema_nri` / OpenFEMA).

---

### Migration and tax data

- **IRS Statistics of Income (SOI)** - Tax-return-based migration and income-flow perspectives (`irs_soi`).

---

### Airport connectivity

- **Airport activity metrics** - Where data exists, Corbis can surface airport-oriented measures such as enplanements, enplanements per capita, year-over-year change, national rank, and hub classification. The structured data lives in the market pipeline and `airport_activity`; metric definitions currently cite FAA ACAIS where applicable.

---

### Commercial real estate and listings

- **CMBS / securitized property data** - `credeals.cmbs_properties` and `credeals.cmbs_loans` support property comps and transaction-side CRE metrics. Always read sample sizes such as `cmbs_n` and `cap_rate_n` before treating a median as strong evidence.
- **CRE market index and benchmarks** - `credeals.cre_market_index`, `cre_market_benchmarks`, and `cre_market_timeseries` support metro by property-type snapshots, national benchmarks, annual trends, pooled current-market stats, cap rates, occupancy, vacancy, DSCR, NOI per SF, price per SF, and asking-rent context.
- **Live CRE listings and offering-memo facts** - `credeals.cre_listings` and related listing tables support keyword search, structured filters, listing drill-ins, and optional offering-memo facts through `searchCREListings`.
- **REIT supplementals** - `credeals.cre_operating_fundamentals`, `cre_reit_timeseries`, `cre_reit_transaction_caps`, and `cre_reit_cap_timeseries` support same-store revenue/NOI growth, economic occupancy, effective rent change, and national by-sector REIT acquisition/disposition cap rates.
- **Cap-rate survey surfaces** - survey-derived cap-rate tables may appear in the CRE schema where present. Treat them as curated CRE context rather than a raw public-table surface.

Important caveats:

- REIT transaction cap rates are **national by sector**, not by metro. Use `getCREMarket` for by-metro cap-rate context.
- Listing rents, CMBS transaction economics, REIT same-store growth, and Zillow ZORI are different lanes. Do not merge them into one rent number.
- The current structured market surface does **not** include an absorption metric. Use supply, vacancy, occupancy, listings, and trend metrics instead.

---

### How Corbis uses these sources

Corbis combines the above to power:

- metro snapshots, peer comparisons, and rankings
- multi-factor market screens and map/scatter visualizations
- multi-year `getMarketTrends` history with optional `source` filters matching the pipeline
- CRE metro snapshots, rankings, trends, comps, listings, and REIT-supplemental views
- national overlays via `getNationalMacro` plus broader macro exploration via FRED tools
- academic source retrieval through the research corpus when the question needs papers
- optional web search for context beyond the structured tables

When you need exact figures, rely on the metric labels, source hints, and dates shown in tool output; coverage gaps are expected for some metros and series.