Skip to content

Questionnaire answering

This is the trust-center drafter: a questionnaire your customers sent you, not the questionnaire you send a vendor. The trust center itself is on every plan, including Free. Drafting answers with the model requires Starter or above (ai_analysis).

Nothing is sent back to the requester automatically. A person approves each answer first.

What you give it

In the trust center, paste questions or upload a CSV. A CSV uses a column headed Question, Questions, Text, Control or Requirement; otherwise the first column is the questions. Plain text is one question per line. A leading number or bullet is stripped. A line shorter than 5 characters is dropped. At most 500 questions are kept, and each is cut at 2,000 characters. If no question is found the request is a 400.

The same action is POST /api/orgs/ORG/trust/questionnaires/ with a multipart file or a JSON text field, plus optional name and requester.

How a draft is produced

POST /api/orgs/ORG/trust/questionnaires/ID/autofill/ queues the draft and returns 202 with { "queued": true, "task": "…" }. If this deployment has no AI provider, that request returns 503 with code ai_not_configured and no draft is written.

When a provider is configured, each question that is not already approved is handled in three steps:

  1. Retrieve. The organization's own scan-clean documents (trust-center documents, and uploads that are not tied to a vendor) are split into passages and ranked against the question by term overlap. This step does not call a model. The same documents and the same question produce the same passages.
  2. Draft. The model sees only those passages. It must answer from them, in the first person plural, and cite each claim with a verbatim quote and the passage it came from. If the passages do not answer the question, it is told to leave the answer empty.
  3. Check. Each quote is compared with the passage. A quote that is not actually in the passage is dropped. An answer with no remaining citation is not offered: the question is marked NO_EVIDENCE for a person to answer. A grounded answer is stored as DRAFTED with its citations.

A question the model fails to answer is left as it was. Approved questions are skipped, so a later run does not overwrite a decision a person already made.

Approve and export

Statuses are UNANSWERED, DRAFTED, NO_EVIDENCE and APPROVED. PATCH /api/orgs/ORG/trust/questions/ID/ sets answer and, to approve, { "status": "APPROVED" }. Approving an empty answer is a 400. Editing an approved answer moves it back to drafted.

GET /api/orgs/ORG/trust/questionnaires/ID/export.csv downloads a CSV with the question, the answer, the status and the sources. That file is what you send on. The product does not submit it for you.