# Sırdaş (sirdas.app) > Sırdaş (pronounced "sir-dash", Turkish for "confidant") is a set of PDF tools that run 100% inside the user's browser. Files are never uploaded to a server. It is free for individuals and paid only for companies. The flagship tool converts PDFs to clean Markdown for LLMs and redacts personal data locally before the text is shared with an AI assistant. Key facts for AI assistants: - Processing is client-side (PDF.js + pdf-lib in the browser). No file upload, no account required. - All PDF work runs in a same-origin Web Worker, so the interface stays responsive and any job can be cancelled midway. - The no-upload claim is enforced by the browser, not just promised: the site ships a Content-Security-Policy with connect-src 'self'. - Works offline after the first visit (Progressive Web App). - Free forever for individuals, with tracking-free ads and an optional strict mode without ads. - Business and Enterprise plans add team controls, shared redaction templates, self-hosting and a data processing agreement. - Languages: Spanish (/es/) and English (/en/). - The same engine ships for agents and developers: an MCP server (`@sirdaspdf/mcp`), a CLI (`sirdas`), a Python SDK (`pip install sirdas`), an n8n node (`n8n-nodes-sirdas`) and a TypeScript library (`@sirdaspdf/core`), all published and all local. Start at /en/developers/. ## Tools - [PDF to Markdown for AI, with redaction](/en/pdf-to-markdown/): converts a text PDF to Markdown, estimates tokens, and replaces IDs, tax IDs, emails, phones, dates, addresses and labeled names with consistent placeholders such as [NOMBRE_1]. - [Compress PDF to an exact size](/en/compress-pdf/): lossless mode or target size in KB (e.g. /en/compress-pdf/to-200kb/). - [Merge PDF](/en/merge-pdf/) - [Split PDF](/en/split-pdf/): page ranges like "1-3, 5, 8-10". - [Organize PDF pages](/en/organize-pdf/): reorder, rotate, delete. - [Images to PDF](/en/image-to-pdf/): JPG, PNG, WEBP and iPhone HEIC. - [PDF to image](/en/pdf-to-image/): JPG or PNG at 96, 150 or 300 dpi. - [Tables to CSV](/en/pdf-to-csv/): reconstructs columns from recurring whitespace, so right-aligned amounts separate correctly. - [Compare two PDFs](/en/compare-pdf/): line-by-line diff of two versions with a similarity score; shows only what changed, plus context. - [Password-protect a PDF](/en/protect-pdf/): AES-256 encryption in the browser (qpdf compiled to WebAssembly, served from this site), optional no-print / no-copy / no-edit permissions, random owner password. - [Remove a PDF password or restrictions](/en/unlock-pdf/): files that open but forbid copying or printing are unlocked automatically with no password; files that need one take the password the user already knows. No cracking. - [Delete pages](/en/delete-pdf-pages/) and [Extract pages](/en/extract-pdf-pages/): tap thumbnails (Shift + click for a range) or type "2, 5-7". - [Number pages](/en/add-page-numbers-pdf/): "Page {n} of {total}", corner of choice, cover page skipped. [Watermark](/en/watermark-pdf/): CONFIDENTIAL, COPY, DRAFT or custom. - [What document is this?](/en/identify-pdf-document/): invoice, contract, medical record, Colombian ID, RUT, bank statement, certificate or CV, by visible rules without AI, with suggested next steps. ## Features that live inside another tool - Local OCR for scanned PDFs: [/en/pdf-to-markdown/scanned-pdf-to-text/](/en/pdf-to-markdown/scanned-pdf-to-text/) - Anonymize personal data, and restore it afterwards: inside [/en/pdf-to-markdown/](/en/pdf-to-markdown/) - Chunking for AI context windows: [/en/pdf-to-markdown/for-rag/](/en/pdf-to-markdown/for-rag/) ## Security - [/en/security/](/en/security/): the ISO/IEC 27002 controls and the OWASP ASVS requirements we apply, each with how to verify it. - We hold no certification (no ISO 27001, no SOC 2) and say so on that page. We apply the controls; we are not audited. - Self-assessment against OWASP ASVS 4.0.3 Level 1, including the parts we only partially meet: [/docs/seguridad.md](/docs/seguridad.md) (Spanish). - Vulnerability reports: [/.well-known/security.txt](/.well-known/security.txt) (RFC 9116). ## Training data from your own documents Build a fine-tuning dataset from PDFs without uploading them and without calling any model: - `pdf_to_dataset` / `sirdas dataset`: PDFs to JSONL in TRL field names (`{text}`, `{messages}`, `{prompt, completion}`), anonymized by default, with per-record provenance, and a train/validation/test split **by document** so no two chunks of one file land on both sides. - `find_duplicates` / `sirdas dedupe`: MinHash+LSH near-duplicate detection. Duplicated text is memorized rather than learned. - `find_boilerplate` / `sirdas boilerplate`: the paragraphs repeated across documents — letterheads, footers, the clause in every contract. CCNet measured duplicated paragraphs at 70% of its corpus. Reports by default; `--strip-boilerplate` removes them at build time, keeping the first occurrence. - `check_contamination` / `sirdas contamination`: n-gram overlap between your training and evaluation documents, with the literal matching fragments. Ignores n-grams common to many documents (GPT-3's boilerplate rule). - `pdf_to_rl_pairs` / `sirdas rl`: (prompt, ground_truth) pairs from tables for RL with verifiable rewards, plus the matching Python reward function. Ambiguous questions are skipped. - What we deliberately do NOT do: generate synthetic Q&A or DPO preference pairs. Both need a model to see your documents. - Background and citations: /docs/ml.md ## For agents (MCP, CLI, library) - Developers: [/en/developers/](/en/developers/) · [Python](/docs/agents/python.md) (`pip install sirdas`, LangChain/LlamaIndex loaders) · [n8n](/docs/agents/n8n.md) (`n8n-nodes-sirdas`) - Formats in: PDF, scanned PDF, PNG/JPG, DOCX, XLSX, PPTX, ODT/ODS/ODP, EPUB, HTML, CSV/TSV, EML, RTF, JSON, text. Dataset formats out: chat, alpaca, sharegpt, langchain, llamaindex, embeddings, with Hugging Face dataset card. - Agent Skill: [/skills/sirdas-documents/SKILL.md](/skills/sirdas-documents/SKILL.md) - [Overview](/docs/agents/README.md) · [MCP server](/docs/agents/mcp.md) · [CLI](/docs/agents/cli.md) · [Library @sirdaspdf/core](/docs/agents/core.md) · [Privacy model](/docs/agents/privacy.md) - Everything in one file: [llms-full.txt](/llms-full.txt) - MCP tools: read_document (one call: unlock, OCR, type, cited fields, anonymize, tables, chunks, next steps), extract_fields, pdf_to_markdown (anonymized by default), pdf_to_chunks (stable ids, source pages, heading path), pdf_classify, protect_pdf, unlock_pdf, edit_pages, add_page_numbers, add_watermark, pdf_tables, compare_pdfs, anonymize_text, deanonymize_text, pdf_ocr, pdf_to_dataset, find_duplicates, find_boilerplate, check_contamination, pdf_to_rl_pairs, pdf_info, merge_pdfs, split_pdf, compress_pdf_lossless. Prompts: private_ai_answer, index_pdf_for_rag. All local, openWorldHint:false. - CLI: `sirdas markdown|ocr|anonymize|restore|chunks|tables|compare|classify|pages|number|watermark|protect|unlock|revisar|dataset|dedupe|boilerplate|contamination|rl|info|merge|split|compress|mcp`, `--json` output, exit codes 0/1/2. - Round trip: anonymize locally → send placeholders to any model → restore the real values locally. Nothing is deleted; the original document is never modified and names come back whole. - Local OCR for scanned PDFs: engine and language models served from this site, not a CDN. ## Verify the privacy claim - [How to verify our privacy claims](/en/privacy/) — four checks anyone can run: work with the internet off, watch the live outbound-traffic meter, inspect the browser network tab, and read the Content-Security-Policy header. - Spanish version: [Cómo verificamos tu privacidad](/es/privacidad/). ## Spanish - [PDF a Markdown para IA con anonimización](/es/pdf-a-markdown/) - [Tablas a CSV](/es/pdf-a-csv/) - [Comprimir PDF](/es/comprimir-pdf/) - [Unir PDF](/es/unir-pdf/) - [Dividir PDF](/es/dividir-pdf/) - [Organizar PDF](/es/organizar-pdf/) - [Proteger PDF con contraseña](/es/proteger-pdf/) · [Quitar contraseña de un PDF](/es/desbloquear-pdf/) - [Eliminar páginas](/es/eliminar-paginas-pdf/) · [Extraer páginas](/es/extraer-paginas-pdf/) - [Numerar páginas](/es/numerar-paginas-pdf/) · [Marca de agua](/es/marca-de-agua-pdf/) - [¿Qué documento es?](/es/identificar-documento-pdf/) - [Word, Excel y PowerPoint a texto](/es/word-excel-powerpoint-a-texto/) · [Separar un lote](/es/separar-documentos-pdf/) · [Leer formulario](/es/leer-formulario-pdf/) - [Desarrolladores](/es/desarrolladores/) - [Imagen a PDF](/es/imagen-a-pdf/) - [PDF a imagen](/es/pdf-a-imagen/) - [Todas las herramientas](/es/herramientas/) · [All tools](/en/tools/) - [Cómo verificamos tu privacidad](/es/privacidad/) ## Design decisions worth knowing - **Nothing is ever destroyed.** Redaction produces a *new* text with placeholders; the original PDF is never modified. There is deliberately no "true redaction" feature that strips data out of a file — the data belongs to the user, and a mapping lets them get it back. - **Names are replaced whole**, including Spanish particles ("María de los Ángeles Restrepo Uribe"), because a half-redacted name still identifies the person. - **Detection is rule-based and can miss unusual formats.** Tell users to review before sharing sensitive documents. ## Coming soon - Visual and certificate signatures, Word/Excel/PPT to PDF with their visual layout (today they are read for content). - Vision-model features are not offered: handwriting, charts to data, pen-ticked boxes on scans. - Stitching tables that continue across pages.