> For the complete documentation index, see [llms.txt](https://docs.hex-rays.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hex-rays.com/add-ons/assist/reference/glossary.md).

# Glossary

Terms used across the Assist documentation:

| Term                                                               | Definition                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **ACP (Agent Client Protocol)**                                    | The JSON-RPC protocol over which Assist drives the external **OpenCode** agent subprocess (`opencode acp`).                                                                                                                                                                                                                                                                          |
| **Action conversation**                                            | A dedicated conversation opened by a right-click action or `/fulltriage`, pinned to a snapshot of the view context where the action was triggered and starting from a read-only baseline with only the permission groups declared by that action that are already **On** in your session.                                                                                            |
| **AMTP (Assist Mesh Transport Protocol)**                          | Assist's authenticated, encrypted local transport protocol (`X25519` + `XChaCha20-Poly1305` + `BLAKE2b`) used over Unix domain sockets and Windows Named Pipes between linked IDA instances and the MCP bridge.                                                                                                                                                                      |
| **Capability prompt card**                                         | An inline prompt card shown in the Assist chat transcript when the built-in agent calls a tool in a capability group set to **Ask when needed**, offering **Deny**, **Allow once**, or **Allow for this session**.                                                                                                                                                                   |
| **Composer**                                                       | The message input box above the **Model** bar in the Assist panel where you type prompts, `@function` and `#address` mentions, and `/slash` commands.                                                                                                                                                                                                                                |
| **ctree**                                                          | The Hex-Rays decompiler's C abstract syntax tree representation of a decompiled function, inspected by tools such as `get_ctree` and `recover_struct_layout`.                                                                                                                                                                                                                        |
| **DACL (Discretionary Access Control List)**                       | A Windows security descriptor list that specifies which security principals (SIDs) are allowed or denied access to a file, directory, or named pipe.                                                                                                                                                                                                                                 |
| **DPAPI (Data Protection API)**                                    | The Windows cryptographic interface used by Assist to encrypt local key files (`node.key` and fallback API key files) under the current Windows user's credentials.                                                                                                                                                                                                                  |
| **Evidence anchor**                                                | A concrete database artifact — a string hit, import, export, segment, local type, entrypoint, FLIRT match, or tool result — required before a binary triage finding in an evidence-gated category is saved to memory.                                                                                                                                                                |
| **FLIRT (Fast Library Identification and Recognition Technology)** | IDA's pattern-matching signature system for identifying standard library functions (`apply_flirt_signature`).                                                                                                                                                                                                                                                                        |
| **FTS5**                                                           | The SQLite full-text search extension used to index and query Assist's per-binary persistent memory store.                                                                                                                                                                                                                                                                           |
| **HCLI** (`hcli`)                                                  | The Hex-Rays command-line tool used to install and upgrade IDA plugins (`hcli plugin install hexrays/assist`, `hcli plugin upgrade hexrays/assist`).                                                                                                                                                                                                                                 |
| **IDB**                                                            | An open IDA database (`.i64` or `.idb`).                                                                                                                                                                                                                                                                                                                                             |
| **MCP (Model Context Protocol)**                                   | An open protocol for connecting AI agents to external tool servers. Assist's bundled bridge (`plugins/assist/bin/assist --mcp`) exposes Assist's database tools over stdio MCP.                                                                                                                                                                                                      |
| **Microcode**                                                      | The Hex-Rays decompiler's intermediate representation between processor instructions and the decompiled C [ctree](#ctree), inspected at selectable maturity levels via `get_microcode`.                                                                                                                                                                                              |
| **Prototype convergence**                                          | Pre-checking a candidate function prototype (`verify_prototype_convergence`) against the target function and its direct callers to verify whether decompiler diagnostics improve or regress before applying the change (gated by **Modify this IDA database** even when `dry_run: true`, because it temporarily applies and restores the candidate prototype in IDA).                |
| **RAX**                                                            | Assist's embedded CPU and user-mode process emulation engine (controlled via the `emulate*` tools and disabled when `ASSIST_RAX_DISABLE=1` is set).                                                                                                                                                                                                                                  |
| **Saved session**                                                  | An automatically stored conversation transcript for an open database (persisted under `<user-ida-dir>/assist/sessions/`, keyed to the database's file path, and browsed via **Settings → Sessions** or `/sessions`) — distinct from the current panel session for capability grants (**Allow for this session**) and from stateful [RAX](#rax) emulation sessions (`emulate_start`). |
| **SID (Security Identifier)**                                      | A unique Windows identifier representing a user account or group in a [DACL](#dacl).                                                                                                                                                                                                                                                                                                 |
| **Suggestion pill**                                                | A clickable, dismissible action chip displayed in the suggestion strip above the [composer](#composer) based on your current cursor location, function diagnostics, or recent turns.                                                                                                                                                                                                 |
| **Symbolic execution**                                             | An emulation mode in [RAX](#rax) that represents chosen register or memory inputs as symbolic expressions rather than fixed concrete values, recording how output registers and branch conditions depend on those inputs.                                                                                                                                                            |
| **Taint tracking**                                                 | Dynamic dataflow tracking during emulation that marks specific input registers or memory bytes as tainted and records how those values propagate to instructions, registers, and memory writes.                                                                                                                                                                                      |
| **User-mode OS personality**                                       | The emulated operating-system environment (`windows`, `linux`, or `darwin`) selected in `emulate_process` to provide loader conventions, thread state, and modelled system/runtime services for a guest executable.                                                                                                                                                                  |


---

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

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

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

```
GET https://docs.hex-rays.com/add-ons/assist/reference/glossary.md?ask=<question>&goal=<user_goal>
```

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

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

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