mirror of
https://github.com/langgenius/dify-official-plugins.git
synced 2026-07-22 01:55:27 -04:00
dify_extractor: opt-out [email protected] #799
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @davidkhala on GitHub (Nov 11, 2025).
Self Checks
1. Is this request related to a challenge you're experiencing? Tell me about your story.
I am trying to parse uploaded html into chunk. The html has a general footer that containing public contact information (hotline, enquiry email).
I use File as data source, followed by Dify Extractor, surprisingly it mask all email with [email protected]. I believe it is interim security workaround. Thus I want to have freedom to configure it with a bool param, that I can keep raw email address
2. Additional context or comments
name: dify_extractor
version: 0.0.5
3. Can you help us with this feature?
@dosubot[bot] commented on GitHub (Nov 11, 2025):
The dify_extractor plugin does not currently implement email masking or provide a configuration option for it. The HTML extraction logic simply returns raw text and does not alter email addresses, so the masking you observed ([email protected]) is likely performed by another part of the Dify system or a post-processing step outside this plugin (source).
If you want to add a configurable email masking feature to dify_extractor, the standard approach is to introduce a new boolean parameter in the plugin's YAML config (
tools/dify_extractor/tools/dify_extractor.yaml) and update the extractor code to respect this parameter. There is currently no masking logic or config parameter for this in the codebase (source).You may want to check upstream or workflow components in your Dify deployment to locate where the masking is actually performed, as changes may be needed there instead. If you decide to contribute this feature, following the YAML config pattern and updating the extractor logic is the recommended path.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

@davidkhala commented on GitHub (Nov 11, 2025):
For human reading this, can I say the masking is due to Data Source as File? but the
Doc Extratorcan get raw email when follwing File data source, while dify_extractor cannotPlease confirm my guessing
@dosu
@dosubot[bot] commented on GitHub (Nov 11, 2025):
The masking of email addresses isn't caused by using "Data Source as File" or by the dify_extractor itself. Instead, it's controlled by your pipeline's preprocessing configuration—specifically, the 'remove_urls_emails' rule in Dify's CleanProcessor. If you see raw emails with Doc Extractor but masked emails with dify_extractor, it's almost certainly because the pipeline or dataset config for each extractor is different: one has email masking enabled, the other does not. You can adjust this behavior by modifying your pipeline's preprocessing rules, not the extractor plugin itself. For details, see the CleanProcessor logic in Dify's codebase here.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

@davidkhala commented on GitHub (Nov 11, 2025):
@dosu I didn't call CleanProcessor as a step. If so, where can I configure it?
@dosubot[bot] commented on GitHub (Nov 11, 2025):
You don't need to call CleanProcessor directly—it's automatically applied as part of Dify's document processing pipeline. You control its behavior (including email masking) via the pipeline or dataset configuration, specifically in the process_rule section. To disable email masking, set the remove_urls_emails rule's enabled field to false in your configuration. For example:
This config is usually found in your dataset or pipeline YAML/JSON, or as environment variables in Docker Compose. After editing, restart your Dify services to apply the change. More details and examples are available in this discussion: Dify issue #11861.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

@davidkhala commented on GitHub (Nov 11, 2025):
@dosu no such section in exported pipeline DSL.
@dosubot[bot] commented on GitHub (Nov 11, 2025):
The exported pipeline DSL often doesn't include a process_rule or pre-processing rules section because Dify manages these rules separately—typically at the dataset level or within workflow nodes, not as part of the pipeline DSL export. Email masking (remove_urls_emails) is controlled by these dataset process rules, which you can configure in the dataset creation or editing UI. If you don't see this section in your DSL, it's likely because the export process doesn't serialize these settings—they're stored in the database and applied dynamically during document processing, not in the exported YAML/JSON itself. For file-based knowledge bases, you can set pre-processing rules (like disabling email masking) before uploading, but for some sources (like Notion), the UI may not expose these options, which is a known limitation or UI bug in certain versions (source).
If you want to ensure email addresses are not masked, adjust the pre-processing rules in your dataset settings before uploading files. If you need to control this via API, include a process_rule section in your upload payload (example). The absence of process_rule in the exported DSL is expected behavior and not a bug.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
