{
  "name": "Data processing agreement clause indexing",
  "description": "Extract controller name, processor name, effective date from dpa. Start with an editable schema, inspect JSON and review exceptions before your system handoff.",
  "prompt_additions": "Extract only information explicitly present in this document. Do not infer missing values, verify authenticity, make business decisions, or compare other documents. Preserve identifiers as strings. Return amounts as numbers and dates as YYYY-MM-DD. Review and set required fields for your process before using this schema in production.",
  "fields": [
    {
      "key": "controller_name",
      "label": "Controller Name",
      "type": "string",
      "required": false,
      "description": "Controller name exactly as printed in this dpa. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "processor_name",
      "label": "Processor Name",
      "type": "string",
      "required": false,
      "description": "Processor name exactly as printed in this dpa. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "effective_date",
      "label": "Effective Date",
      "type": "date",
      "required": false,
      "description": "Effective date explicitly printed in this dpa. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "purpose_text",
      "label": "Purpose Text",
      "type": "string",
      "required": false,
      "description": "Purpose text exactly as printed in this dpa. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "stated_locations_text",
      "label": "Stated Locations Text",
      "type": "string",
      "required": false,
      "description": "Stated locations text exactly as printed in this dpa. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "subprocessor_text",
      "label": "Subprocessor Text",
      "type": "string",
      "required": false,
      "description": "Subprocessor text exactly as printed in this dpa. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "retention_clause_text",
      "label": "Retention Clause Text",
      "type": "string",
      "required": false,
      "description": "Retention clause text exactly as printed in this dpa. Preserve identifiers and qualifiers; do not look up or infer missing information."
    }
  ]
}