Come costruire un PII automatico o Keyword Redaction Pipeline con .NET

Come costruire un PII automatico o Keyword Redaction Pipeline con .NET

L’editing di informazioni identificabili personali (PII) e parole chiave sensibili nelle immagini scansionate è fondamentale per le operazioni di privacy, legale e di conformità. Aspose.OCR Image Text Finder per .NET consente di automatizzare la rilevazione e la redazione nei flussi di lavoro di pacch.

Il problema del mondo reale

La redazione manuale dei dati confidenziali negli archivi scansionati è lenta, pronta per errori e costosa.L’automazione è necessaria per garantire un maschere affidabile e coerente per i controlli della conformità e della privacy.

Soluzione Overview

Identificare automaticamente PII o parole chiave utilizzando OCR, mascherare, blurare o sostituirle nell’immagine e salvare i risultati redatti – assicurando la privacy e la sicurezza.

Prerequisiti

  • Visual Studio 2019 o successivo
  • .NET 6.0 o successivo (o .Net Framework 4.6.2+)
  • Aspose.OCR per .NET da NuGet
  • PII o elenco di parole chiave in un file di testo
PM> Install-Package Aspose.OCR

Implementazione passo dopo passo

Passo 1: Preparare PII/Lista delle parole chiave e Immagini di input

List<string> piiList = new List<string>(File.ReadAllLines("pii_keywords.txt"));
string[] files = Directory.GetFiles("./input", "*.png");

Passo 2: Cerca le parole chiave / PII

RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
AsposeOcr ocr = new AsposeOcr();
foreach (string file in files)
{
    foreach (string pii in piiList)
    {
        bool found = ocr.ImageHasText(file, pii, settings);
        if (found)
        {
            // Proceed to redact in Step 3
        }
    }
}

Passo 3: Redazione o maschera Termini rilevati

  • Mentre Aspose.OCR rileva termini, la redazione deve essere applicata con le biblioteche di immagini (ad esempio System.Drawing, SkiaSharp).
// Example using System.Drawing to overlay black box (simplified)
using (var image = new Bitmap(file))
{
    using (var g = Graphics.FromImage(image))
    {
        // Locate/estimate bounding box for found term (requires mapping OCR region, see docs/API)
        // g.FillRectangle(Brushes.Black, x, y, width, height);
    }
    image.Save($"./redacted/redacted_{Path.GetFileName(file)}");
}

Passo 4: Inserisci i file modificati

File.AppendAllText("redaction_log.csv", $"{file},{pii},redacted\n");

Passo 5: Completare l’esempio del flusso di lavoro di batch

using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;
using System.Drawing;

class Program
{
    static void Main(string[] args)
    {
        List<string> piiList = new List<string>(File.ReadAllLines("pii_keywords.txt"));
        string[] files = Directory.GetFiles("./input", "*.png");
        RecognitionSettings settings = new RecognitionSettings();
        settings.Language = Language.English;
        AsposeOcr ocr = new AsposeOcr();
        foreach (string file in files)
        {
            foreach (string pii in piiList)
            {
                bool found = ocr.ImageHasText(file, pii, settings);
                if (found)
                {
                    // Redact by overlay (simplified; see docs for bounding box)
                    using (var image = new Bitmap(file))
                    using (var g = Graphics.FromImage(image))
                    {
                        // Example: Draw rectangle where text is found (requires OCR region info)
                        // g.FillRectangle(Brushes.Black, x, y, width, height);
                        // Save redacted copy
                        image.Save($"./redacted/redacted_{Path.GetFileName(file)}");
                    }
                    File.AppendAllText("redaction_log.csv", $"{file},{pii},redacted\n");
                }
            }
        }
    }
}

Nota: Per la mappatura della regione accurata, utilizzare le API di riconoscimento della Regione di Aspose.OCR per ottenere coordinate dei blocchi di testo rilevati, quindi mascherare esattamente.

Utilizzare casi e applicazioni

Legale e conformità

La redazione automatica dei contratti, dei file HR e dei documenti regolamentati.

Audit della privacy

Assicurarsi che PII non scaturisca in archivi scansionati, onboarding o file di prova.

Batch DLP (prevenzione della perdita di dati)

Smettere di condividere accidentalmente o memorizzare informazioni sensibili nelle immagini scansionate.

Sfide e soluzioni comuni

sfida 1: localizzare regioni di testo precise

Soluzione: Utilizzare la output della regione di testo OCR e la mappa per le coordinate dell’immagine per mascherare.

2 – False Positive / Negative

Soluzione: Fare elenchi di parole chiave, valutare le immagini redatte e eseguire gli audit.

Sito ufficiale: Batch Job Size

Soluzione: Parallelizzare e automatizzare il trattamento degli errori per scala.

Considerazioni di prestazioni

  • Il calcolo della regione e la scrittura dell’immagine possono essere lenti per grandi batch – usare async se necessario
  • Inserisci tutte le redazioni per la revisione della conformità

Migliori pratiche

  • Test di regione mappando l’accuratezza con immagini diverse
  • Aggiornare regolarmente le liste di parole chiave per i nuovi modelli PII
  • Proteggere sia i file originali che redatti
  • Validato con controlli manuali

Scenari avanzati

Scenario 1: Blur invece di Blackout

Utilizzare i filtri di immagine per blurare le regioni rilevate per un maschere più sottile.

Scenario 2: Redazione personalizzata/Testo di sostituzione

Sostituisci l’etichetta personalizzata (ad esempio, “REDACTED”) invece della scatola nera.

conclusione

Aspose.OCR Image Text Finder per .NET ti consente di automatizzare la redazione di parole chiave/PII a scala – riducendo il rischio legale e garantendo la privacy in tutti gli archivi di immagini.

Per le API regionali precise e l’integrazione della redazione, vedi Aspose.OCR per .NET API Reference .

 Italiano