This prompt is designed for research synthesis and due-diligence AI systems that need to surface potential conflicts of interest (COI) from author-provided metadata and disclosure statements. It extracts structured data on funding sources, employment affiliations, and competing interests, then flags any undisclosed potential conflicts by cross-referencing declared affiliations against the research topic. Use this prompt when building evidence pipelines for grant review, journal submission checks, investment due diligence, or regulatory compliance workflows where author objectivity must be assessed before evidence is weighted.
Prompt
Conflict of Interest Detection Prompt for Authors

When to Use This Prompt
Understand the job-to-be-done, ideal user, required context, and when not to use this prompt.
The ideal user is an AI engineer or technical decision maker integrating COI detection into a production pipeline. The prompt assumes the input text contains disclosure statements or author metadata sections—it is not a general-purpose extraction prompt and will perform poorly on narrative prose, full-text articles, or unstructured author bios without explicit disclosure language. Required context includes the research topic or domain against which to cross-reference declared affiliations, a clear output schema for structured COI data, and a defined risk threshold for flagging undisclosed conflicts. The prompt works best when paired with a validation layer that checks extracted entities against known funding databases, employer records, or patent filings.
Do not use this prompt as a standalone compliance decision engine. It surfaces potential conflicts for human review but does not make final determinations about author bias or research validity. It is not suitable for real-time chat applications, consumer-facing products without human-in-the-loop review, or workflows where the input text lacks explicit disclosure language. In regulated domains such as pharmaceutical research or securities analysis, always route flagged outputs to a qualified reviewer and maintain an audit trail of the prompt version, input metadata, and extracted COI records. The next step after reading this section is to review the prompt template, adapt the placeholders to your domain, and design the validation harness before integrating it into your evidence pipeline.
Use Case Fit
Where the Conflict of Interest Detection Prompt works, where it fails, and the operational prerequisites for production use.
Good Fit: Structured Disclosure Parsing
Use when: Author metadata, conflict-of-interest statements, and funding acknowledgments are available in structured or semi-structured text. Why: The prompt excels at extracting explicit declarations of employment, board seats, and grant funding from disclosure sections. Guardrail: Provide the disclosure text as a dedicated input field rather than relying on the model to locate it within a full paper.
Bad Fit: Implicit Relationship Inference
Avoid when: The goal is to infer undisclosed conflicts from co-authorship networks, citation patterns, or institutional affiliations without explicit statements. Why: The prompt is designed for extraction, not investigation. It will miss conflicts that require external knowledge or network analysis. Guardrail: Pair this prompt with a separate knowledge-graph or network-analysis module if undisclosed conflict detection is required.
Required Inputs: Disclosure Text and Author Metadata
What you need: A dedicated [DISCLOSURE_TEXT] field containing the conflict-of-interest statement, plus [AUTHOR_METADATA] with names, affiliations, and funding acknowledgments. Why: Without clean input separation, the model conflates general author information with specific conflict declarations. Guardrail: Pre-process PDFs or XML to extract disclosure sections before calling the prompt.
Operational Risk: Undisclosed Conflicts
What to watch: The prompt can only flag what is stated. Authors who omit conflicts entirely will produce clean output, creating a false sense of security. Guardrail: Add a secondary check that cross-references declared affiliations against known industry funding databases or requires human sign-off for high-stakes reviews.
Operational Risk: Ambiguous Language
What to watch: Authors may use vague language like 'potential consulting relationships' or 'occasional advisory roles' that evade clear classification. Guardrail: Configure the output schema to include a confidence score and an 'ambiguous_flag' boolean. Route flagged entries for human review before finalizing the conflict assessment.
Scale Consideration: Batch Processing
Use when: Processing multiple papers for a systematic review, journal editorial check, or due-diligence pipeline. Why: The structured output schema supports batch ingestion into a database for aggregate reporting. Guardrail: Implement a human-in-the-loop review queue for any detection with a confidence score below your defined threshold before publishing results.
Copy-Ready Prompt Template
A copy-ready prompt template for extracting and flagging conflicts of interest from author disclosure statements.
This template is designed to be dropped directly into your application or evaluation harness. It instructs the model to act as a disclosure analyst, extracting structured conflict-of-interest (COI) data from provided author metadata and disclosure text. The prompt uses strict square-bracket placeholders for all variable inputs, allowing you to swap in your own data, output schema, and risk thresholds without altering the core instruction logic. The template is structured to produce a JSON array of findings, making it suitable for downstream database insertion, API responses, or human-review queues.
textYou are a disclosure analyst. Your task is to extract and flag conflicts of interest from the provided author disclosure statements and metadata. # INPUT Author Name: [AUTHOR_NAME] Author Metadata: [AUTHOR_METADATA] Disclosure Text: [DISCLOSURE_TEXT] # OUTPUT SCHEMA Return a valid JSON object with the following structure: { "author": "string", "findings": [ { "type": "funding | employment | competing_interest | undisclosed_potential", "description": "string (concise, factual description of the conflict)", "source_quote": "string (exact text from the disclosure that supports this finding)", "confidence": "high | medium | low", "requires_human_review": true | false } ], "no_conflicts_found": true | false, "analysis_notes": "string (brief summary of the overall assessment)" } # CONSTRAINTS - Only report conflicts that are explicitly stated or strongly implied by the disclosure text. - For "undisclosed_potential" types, flag only if the author metadata (e.g., known employer, recent grants) suggests a conflict that is absent from the disclosure. Set confidence to "low" and requires_human_review to true. - Do not invent or assume conflicts not supported by the provided text. - If no conflicts are found, set no_conflicts_found to true and return an empty findings array. # RISK LEVEL [RISK_LEVEL] # EXAMPLES [EXAMPLES]
To adapt this template, replace the square-bracket placeholders with your production data. [AUTHOR_NAME] and [AUTHOR_METADATA] should be populated from your author database or submission system. [DISCLOSURE_TEXT] is the raw text of the disclosure statement. The [RISK_LEVEL] placeholder allows you to inject context-specific instructions—for example, in a high-stakes regulatory workflow, you might add: 'This is a HIGH-RISK review. All findings must be flagged for human review. Err on the side of caution.' The [EXAMPLES] placeholder should be filled with one or two few-shot examples demonstrating the desired output format, especially for edge cases like undisclosed potential conflicts. After generating the output, validate the JSON structure and route any finding with requires_human_review: true to a review queue before accepting the result.
Prompt Variables
Required and optional inputs for the Conflict of Interest Detection Prompt. Each placeholder must be populated before the prompt is sent. Validation notes describe how to check input quality and what to do when an input is missing or malformed.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[AUTHOR_NAME] | Full name of the author being evaluated | Maria Chen, PhD | Non-empty string. Reject if null or whitespace. Normalize to Last, First format before lookup. |
[AUTHOR_AFFILIATIONS] | Current and past institutional affiliations from manuscript metadata | Stanford University (2021-present); Genentech (2018-2021) | Array of strings or structured JSON. If empty, set flag |
[DISCLOSURE_STATEMENT] | Full text of the author's conflict of interest disclosure section | Dr. Chen reports consulting fees from Pfizer and grant support from NIH R01-HL123456. | Raw text block. If null or contains only 'None declared', set |
[FUNDING_SOURCES] | List of funding entities extracted from the manuscript acknowledgments or funding section | ["NIH R01-HL123456", "Pfizer unrestricted grant"] | Array of strings. Cross-reference with [DISCLOSURE_STATEMENT] for omissions. Empty array is valid but triggers undisclosed-funding check. |
[MANUSCRIPT_TOPIC_TERMS] | Key terms describing the manuscript's subject domain for relevance matching | ["PCSK9 inhibitors", "LDL cholesterol", "cardiovascular outcomes"] | Array of 3-10 strings. Used to assess whether a disclosed relationship is topically relevant. Reject if fewer than 3 terms. |
[AUTHOR_ROLE] | The author's stated role on the manuscript | First author; Corresponding author | Enum: First author, Corresponding author, Senior author, Co-author, Contributor. Defaults to Co-author if unspecified. Senior and corresponding authors trigger higher scrutiny thresholds. |
[PUBLICATION_DATE] | Date of manuscript submission or publication in ISO 8601 format | 2024-03-15 | Parse as date. Used to calculate recency windows for financial relationships. Reject if unparseable. Default lookback window is 36 months unless overridden. |
[REVIEWER_FLAG] | Whether the author also served as a reviewer or editor for this submission | Boolean. If true, escalate to human review regardless of other findings. Defaults to false if not provided. |
Implementation Harness Notes
How to wire the Conflict of Interest Detection prompt into a production application with validation, retries, and human review gates.
This prompt is designed to operate as a structured extraction step inside a larger due-diligence or research synthesis pipeline. It should not be exposed directly to end users as a free-text chat interface. Instead, wire it as a single-turn extraction call that receives pre-processed author metadata and disclosure statements, and returns a typed JSON object that downstream systems can ingest. The prompt expects two primary inputs: an [AUTHOR_PROFILE] containing name, affiliations, and known funding sources, and a [DISCLOSURE_TEXT] containing the verbatim conflict-of-interest statement or acknowledgments section from the publication. If your system retrieves these from PDFs or HTML, run document extraction and normalization before calling this prompt—do not pass raw scanned text or unparsed markup.
Validation and retry logic is critical because the output drives compliance and editorial decisions. After receiving the model response, validate the JSON structure against the expected schema: conflicts_detected (boolean), declared_conflicts (array of objects with entity, relationship_type, disclosure_verbatim), potential_undeclared_conflicts (array of objects with entity, evidence_source, confidence), and assessment_notes (string). If the JSON fails to parse, retry once with a repair prompt that includes the raw output and the schema. If the confidence field for any undeclared conflict falls below a configurable threshold (we recommend 0.7), route that item to a human review queue rather than surfacing it automatically. Log every extraction attempt with the input hash, model version, raw output, validation result, and reviewer decision for auditability.
Model choice and tool use should match the risk profile. For high-stakes applications—journal submissions, regulatory filings, grant reviews—use a model with strong instruction-following and structured output support (GPT-4o, Claude 3.5 Sonnet, or equivalent). Enable structured output mode if your provider supports it, rather than relying on parse-and-repair loops. This prompt does not require tool calls or retrieval-augmented generation during extraction, but you may chain it with an upstream RAG step that fetches author publication histories, funding databases (e.g., NIH RePORTER, Crossref Funder Registry), or institutional affiliation records to improve undeclared conflict detection. If you add retrieval, pass the retrieved evidence into the [AUTHOR_PROFILE] field as structured context, not as raw search results. Always include a human review gate before any flagged conflict is surfaced to an external audience—this prompt identifies signals, not final determinations.
Expected Output Contract
Structured output fields the model must return for each author disclosure evaluation. Use this contract to validate responses before downstream ingestion.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
author_id | string | Must match the [AUTHOR_ID] input exactly; non-empty | |
author_name | string | Must match the [AUTHOR_NAME] input; non-empty | |
disclosure_text | string | Must be the raw [DISCLOSURE_TEXT] input; null if input was null | |
funding_sources | array of objects | Each object must have 'funder_name' (string), 'grant_id' (string|null), 'relationship_type' (enum: direct, institutional, in-kind) | |
employment_affiliations | array of objects | Each object must have 'organization' (string), 'role' (string|null), 'current' (boolean), 'dates_mentioned' (string|null) | |
competing_interests_declared | array of strings | Each entry must be a non-empty string summarizing a declared interest; empty array if none found | |
undisclosed_conflict_flags | array of objects | Each object must have 'concern' (string), 'evidence_fragment' (string), 'severity' (enum: low, medium, high, critical), 'requires_human_review' (boolean) | |
confidence_score | number | Float between 0.0 and 1.0 representing overall extraction confidence; values below 0.6 must trigger human review |
Common Failure Modes
What breaks first when detecting conflicts of interest in author disclosures and how to prevent it.
Undisclosed Funding Sources
What to watch: The model accepts the absence of a disclosure statement as evidence of no conflict. Authors may omit funding from industry sponsors, and the prompt treats missing data as clean data. Guardrail: Require explicit disclosure text as input. If no disclosure section is found, flag the author record as 'incomplete' rather than 'no conflict.' Never infer absence from silence.
Employment Affiliation Blind Spots
What to watch: The model misses conflicts when an author lists an academic affiliation but holds a concurrent industry position, paid advisory role, or board seat not declared in the same document. Guardrail: Cross-reference affiliation fields against external employment signals when available. Prompt the model to flag single-affiliation listings when the author's publication history suggests multiple institutional ties.
Temporal Scope Creep
What to watch: The model flags a conflict from a decade-old funding relationship that is no longer relevant, or misses a recent conflict because the disclosure predates the current work. Guardrail: Include a temporal relevance window in the prompt constraints. Require the model to note the date of each disclosure and apply a configurable recency threshold before classifying a conflict as active.
Over-Classification of Benign Relationships
What to watch: The model flags every industry co-authorship, conference sponsorship, or institutional grant as a conflict, producing noisy output that reviewers ignore. Guardrail: Define materiality thresholds in the prompt. Distinguish between direct financial interest, personal compensation, and general institutional funding. Output a severity tier so reviewers can triage rather than dismiss.
Entity Resolution Failures
What to watch: The model fails to connect a disclosed relationship with 'PharmaCorp Inc.' to the same entity listed as 'PharmaCorp International' in the study sponsor field. String mismatch produces false negatives. Guardrail: Include an entity normalization step before conflict detection. Provide known aliases, subsidiary relationships, and parent-company mappings in the prompt context when available.
Structured Output Drift Under Ambiguity
What to watch: When disclosures are vague or use hedging language, the model either hallucinates a clean structured record or omits the ambiguous entry entirely. Guardrail: Require an explicit confidence field and an 'ambiguous_disclosure' flag in the output schema. When language is uncertain, the model must preserve the original text and mark it for human review rather than resolving ambiguity silently.
Evaluation Rubric
Criteria for testing whether the conflict-of-interest detection prompt produces accurate, complete, and production-safe outputs before deployment.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Funding disclosure extraction | All declared funding sources in [AUTHOR_METADATA] and [DISCLOSURE_TEXT] are extracted with source, grant ID, and year when present | Missing a funding source explicitly stated in the input; extracting a funding source not present in the input (hallucination) | Run against 10 golden author profiles with known funding disclosures; compare extracted list to ground truth; require 100% recall and 100% precision |
Employment affiliation extraction | All current and past (within 3 years) employer affiliations are extracted with organization name, role, and date range from [AFFILIATION_TEXT] | Omitting a listed employer; fabricating an employer not in the input; missing the date range when provided | Test against 10 author profiles with pre-labeled affiliation spans; require exact-match organization name and date range when present |
Competing interest flagging | Each extracted relationship is correctly classified as 'declared_conflict', 'potential_undisclosed_conflict', or 'no_conflict_detected' per [CONFLICT_DEFINITIONS] | Classifying a declared relationship as no conflict; flagging a clearly unrelated organization as a conflict; missing an undisclosed conflict when the author's topic directly involves a prior employer | Use 15 labeled examples with known conflict classifications; measure F1 >= 0.90 for each class; manually review all 'potential_undisclosed_conflict' flags |
Undisclosed conflict detection | When [MANUSCRIPT_TOPIC] overlaps with a prior affiliation or funding source not declared in [DISCLOSURE_TEXT], the output flags it with specific evidence and a confidence score | Failing to flag a clear overlap (e.g., author writes about drug efficacy while previously employed by the manufacturer without disclosure); flagging an overlap with no plausible connection | Test with 10 constructed scenarios where undisclosed conflicts are known; require recall >= 0.85; manually verify all flagged cases include specific evidence spans |
Output schema compliance | Output is valid JSON matching [OUTPUT_SCHEMA] with all required fields present and correctly typed; null used only where data is genuinely absent | Missing required fields; wrong types (e.g., string instead of array); null where data exists in input; extra fields not in schema | Validate output against JSON Schema definition programmatically; run 50 test cases; require 100% schema compliance |
Confidence score calibration | Confidence scores in [0,1] correlate with evidence strength; scores >= 0.8 only when multiple explicit signals present; scores <= 0.3 when evidence is weak or ambiguous | Assigning confidence >= 0.9 to a single weak signal; assigning confidence <= 0.1 to a clearly documented conflict; uniform scores across all outputs | Plot confidence score distribution across 50 test cases; verify monotonic relationship with evidence count; spot-check 10 high-confidence and 10 low-confidence outputs for reasonableness |
Evidence citation format | Every flagged conflict includes a citation field with source document identifier, relevant excerpt, and character offset range from the input text | Missing citation on a flagged conflict; citation excerpt does not match the input text; offset range is invalid or points to wrong location | Parse all citation offsets and verify they match the input text at those positions; require 100% valid offsets; spot-check 20 citations for excerpt accuracy |
Null handling and abstention | When [AUTHOR_METADATA] and [DISCLOSURE_TEXT] contain no conflict signals, output returns empty arrays with a summary indicating no conflicts detected, not fabricated findings | Returning fabricated conflicts when input is clean; returning error or invalid JSON when no conflicts exist; omitting the summary field | Test with 5 clean author profiles known to have no conflicts; require empty conflict arrays, valid JSON, and a truthful summary message |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Add a strict JSON output schema with fields: conflict_found (boolean), conflict_type (enum: financial, employment, board_role, patent, family, none), disclosed (boolean), evidence_spans (array of quoted text), and confidence (0-1). Wrap the prompt in a retry loop that validates schema compliance. Log every assessment with the model version, input hash, and output for audit.
Watch for
- Silent format drift when the model returns extra fields or omits
evidence_spans - Confidence scores that don't correlate with actual detection accuracy—add eval cases with known conflicts
- Missing human review for
confidence < 0.85orconflict_typevalues other thannone

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us