---
title: Plugin Developer Guidelines
---



{/* 
  CONTRIBUTOR NOTE:
  ----------------
  This is a legacy document that is being deprecated.
  Please DO NOT make changes to this version.
  All updates should be directed to the new version at:
  /plugin-dev-en/0312-contributor-covenant-code-of-conduct
*/}

<Card title="This Documentation is Being Deprecated" icon="circle-exclamation" href="/plugin-dev-en/0312-contributor-covenant-code-of-conduct">
  <p>This page is being phased out as part of our documentation reorganization.</p>
  
  <p><strong>Click this card</strong> to be redirected to the updated version with the most current information.</p>
  
  <p>If you notice any discrepancies or areas needing improvement in the new documentation, please use the "Report an issue" button at the bottom of the page.</p>
</Card>

### Before Submitting a Pull Request (PR)

1. **Check Plugin's Functionality and Complete Documentation**

* Verify that the plugin works as intended.
* Provide a comprehensive **README file** including:
  * Setup and usage instructions
  * Required codes, APIs, credentials, or other information needed to connect the plugin to services
* Ensure collected user information is only used for service connectivity and plugin improvements.
* Prepare the plugin's privacy policy file or URL according to the [Plugin Privacy Protection Guidelines](plugin-developer-guidelines).

2. **Validate Plugin Value Proposition**

* Ensure your plugin provides unique value to Dify users.
* The plugin should introduce features or services not currently available in Dify or other plugins.
* Follow community standards:
  * Non-violent content that respects the global user base
  * Compliance with integrated service policies
* **How to Check for Similar Plugins?**
  * Avoid submitting functionality that duplicates existing plugins or PRs unless your plugin:
    * Introduces new features
    * Provides performance improvements
  * **Determining Plugin Uniqueness:**
    * If the plugin makes minor adjustments to existing functionality (like adding language parameters), consider extending the existing plugin.
    * If the plugin implements significant functional changes (like optimized batch processing or improved error handling), submit it as a new plugin.
    * Not sure? Include a brief explanation in your PR describing why a new plugin is needed.

**Example:**

Consider a Google Search plugin that takes a single input query and outputs Google search results using the Google Search API.

If you're offering a new Google Search plugin with similar underlying implementation but minor input adjustments (e.g., adding new language parameters), we recommend extending the existing plugin.

However, if you've implemented the plugin differently with optimized batch search capabilities and error handling, it may be reviewed as a separate plugin.


3. **Ensure Compliance with Privacy Data Standards**

**Information Disclosure Requirements:**

* Developers **must** declare whether they collect any type of user personal data when submitting applications/tools.
* If collecting data, **briefly list** the types of data collected (e.g., username, email, device ID, location information, etc.) - detailed explanations are not necessary.
* Developers **must** provide a privacy policy link that states what information is collected, how it's used, what information is shared with third parties, and links to third-party privacy policies.

**Review Focus:**

* **Format Review:** Check if data collection has been declared as required.
* **High-Risk Data Screening:** Focus on whether sensitive data is collected (e.g., health information, financial information, children's personal information). **Additional review** of usage purpose and security measures is required if sensitive data is collected.
* **Malicious Behavior Screening:** Check for obvious malicious behavior, such as collecting data without user consent or uploading user data to unknown servers.

{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}

---

[Edit this page](https://github.com/langgenius/dify-docs/edit/main/en/plugins/publish-plugins/publish-to-dify-marketplace/plugin-developer-guidelines.mdx) | [Report an issue](https://github.com/langgenius/dify-docs/issues/new?title=Documentation%20Issue%3A%20n-developer-guideli&body=%23%23%20Issue%20Description%0A%3C%21--%20Please%20briefly%20describe%20the%20issue%20you%20found%20--%3E%0A%0A%23%23%20Page%20Link%0Ahttps%3A%2F%2Fgithub.com%2Flanggenius%2Fdify-docs%2Fblob%2Fmain%2Fen/plugins/publish-plugins/publish-to-dify-marketplace%2Fplugin-developer-guidelines.mdx%0A%0A%23%23%20Suggested%20Changes%0A%3C%21--%20If%20you%20have%20specific%20suggestions%20for%20changes%2C%20please%20describe%20them%20here%20--%3E%0A%0A%3C%21--%20Thank%20you%20for%20helping%20improve%20our%20documentation%21%20--%3E)

