Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
YouTube Security VideosGoogle Cloud Tech: Gemini is coming to your city(24.09.2026 um 15:00 Uhr)
AI & KI NachrichtenGoogle’s latest moonshot to put machine learning in space(24.09.2026 um 15:12 Uhr)
Windows Tipps & SecurityPoll: What's your favorite Surface of 2026?(24.09.2026 um 14:58 Uhr)
Sichere ProgrammierungStreaming Materialized Views for Live Read Models (2026)(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungA Day Is Not 86400 Seconds: The DST Bug in Your Date Math(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungSetting up Traefik: reverse proxy with automatic HTTPS(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungA 200 OK response does not prove a secret leak(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungHow hot do you like it?(24.09.2026 um 15:05 Uhr)
YouTube Security VideosGoogle Cloud Tech: Gemini is coming to your city(24.09.2026 um 15:00 Uhr)
AI & KI NachrichtenGoogle’s latest moonshot to put machine learning in space(24.09.2026 um 15:12 Uhr)
Windows Tipps & SecurityPoll: What's your favorite Surface of 2026?(24.09.2026 um 14:58 Uhr)
Sichere ProgrammierungStreaming Materialized Views for Live Read Models (2026)(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungA Day Is Not 86400 Seconds: The DST Bug in Your Date Math(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungSetting up Traefik: reverse proxy with automatic HTTPS(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungA 200 OK response does not prove a secret leak(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungHow hot do you like it?(24.09.2026 um 15:05 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

I Do the Same 4 Steps Every Time I Scan a Document. So I Automated All of Them. [Devlog #5]

All tests run on an 8-year-old MacBook Air. Scan → OCR → compress → save to the right folder. Every. Single. Time. Not complex enough to write a script for. Too repetitive to keep doing manually. So I built a pipeline engine into the app …

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!

All tests run on an 8-year-old MacBook Air.

Scan → OCR → compress → save to the right folder.



Every. Single. Time.



Not complex enough to write a script for. Too repetitive to keep doing manually. So I built a pipeline engine into the app — and here's how the architecture works.







The idea: steps as data



Each operation (OCR, compress, encrypt, rename, watermark, save) is a typed StepType. A pipeline is just an ordered list of enabled steps.




#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum StepType {
Ocr,
Compress { level: CompressionLevel },
Encrypt { password: String },
Rename { template: String },
Save { destination: PathBuf },
Watermark { text: String, opacity: f32 },
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PipelineStep {
pub step_type: StepType,
pub enabled: bool,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Pipeline {
pub name: String,
pub steps: Vec,
}






Storing pipelines as serializable data means users can save, share, and reload them. The UI just edits a JSON blob.









The execution engine



Each step's output becomes the next step's input. If any step fails, the whole pipeline halts and temp files are cleaned up.




pub async fn run_pipeline(
pipeline: &Pipeline,
input_path: &Path,
) -> Result {
let mut current_path = input_path.to_path_buf();

for step in pipeline.steps.iter().filter(|s| s.enabled) {
current_path = match &step.step_type {
StepType::Ocr => run_ocr(¤t_path).await?,
StepType::Compress { level } => compress_pdf(¤t_path, level).await?,
StepType::Encrypt { password } => encrypt_pdf(¤t_path, password).await?,
StepType::Rename { template } => rename_file(¤t_path, template).await?,
StepType::Save { destination } => save_to(¤t_path, destination).await?,
StepType::Watermark { text, opacity } => add_watermark(¤t_path, text, *opacity).await?,
};
}

Ok(current_path)
}






The ? operator handles error propagation cleanly. Each step function is independently testable.









Hot Folder: drop a file, pipeline runs automatically



Point it at a folder. Any PDF that lands there triggers the pipeline immediately.




use notify::{Watcher, RecursiveMode, watcher};

pub fn watch_folder(
folder: &Path,
pipeline: Pipeline,
) -> Result<(), notify::Error> {
let (tx, rx) = std::sync::mpsc::channel();
let mut watcher = watcher(tx, Duration::from_secs(1))?;
watcher.watch(folder, RecursiveMode::NonRecursive)?;

loop {
match rx.recv() {
Ok(DebouncedEvent::Create(path)) => {
if path.extension().map_or(false, |e| e == "pdf") {
tokio::spawn(run_pipeline(&pipeline, &path));
}
}
Err(e) => eprintln!("watch error: {:?}", e),
_ => {}
}
}
}






Set your scanner's output folder as the Hot Folder. Scan the document — by the time you walk back to your desk, it's already OCR'd, compressed, and filed.









Current state (dev build)





Steps are drag-and-drop reorderable. Toggle individual steps on/off without deleting them. Save named pipelines for different workflows.









Next devlog



Forensic Deep Purge and Stealth Watermark — invisible security. How do you prove a document leaked without the leaker knowing you can prove it?






Hiyoko PDF Vault → https://hiyokoko.gumroad.com/l/HiyokoPDFVault

X → @hiyoyok

SOC Incident Playbook: Vulnerability Remediation & Verification
title: Detect Exploitation - I Do the Same 4 Steps Every Time I Scan a Document. So I Automated All of Them. [Devlog #5]
id: 3bc9f0de-5d74-4403-94d4-24daf11fe442
status: experimental
description: Automatisch generierte SIEM-Erkennungsregel basierend auf CTI Intelligence
references:
  - https://tsecurity.de/
author: iShareStuff CTI Automated Detection Engine
date: 2026-09-24
logsource:
  category: network_connection
  product: any
detection:
  selection:
      CommandLine|contains:
        - 'exploit'
  condition: selection
falsepositives:
  - Legitime administrative Zugriffe oder Penetrationstests
level: high
tags:
  - attack.initial_access
rule CTI_Threat_Indicator {
    meta:
        author = "iShareStuff CTI Automated Detection Engine"
        date = "2026-09-24"
        description = "YARA Signature for "
    strings:
        $str = "I Do the Same 4 Steps Every Ti" ascii wide
    condition:
        any of them
}
tsecurity.de Cognitive Threat RAG
Fokus-Vektor:

Kognitive Analyse für identifizierte Bedrohung: Erhöhte Bedrohungslage im Bereich I Do the Same 4 Steps Every Time I Scan .... Basierend auf 368k Vektor-Korrelationen werden sofortige Isolationsmaßnahmen für betroffene Endpunkte empfohlen.

🛡️ Angriffsfläche & Exposure

Netzwerk/Remote-Zugriff ohne Vorauthentifizierung möglich.

Empfohlene Sofortmaßnahmen
  • 1. Perimeter-Inspektion: Relevante Portfreigaben und exponierte Endpunkte unverzüglich scannen.
  • 2. Patch-Applikation: Hersteller-Hotfix einspielen oder betroffene Daemons in isolierte DMZ-Segmente überführen.
  • 3. Telemetrie & EDR-Alerts: Prozessaufrufe und Child-Processes auf anomale Shell-Spawns überwachen.
🔗 Semantisch verwandte Zero-Days MariaDB 11.7 VEC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten I Do the Same 4 Steps Every Time I Scan a Document. So I Automated All of Them. [Devlog #5]

Thematisch verwandte Begriffe: Same, Steps, Every, Time · 6 Treffer

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-97179 | A security vulnerability has been detected in O2OA up to 9.5.3/10.0.2. T…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel TTP ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick