By George Curta · Last updated 2026-08-12
이미지 가리기 — 사용 가이드
스캔, 사진, 스크린샷 속 개인정보를 감지하고 가립니다. 이 가이드는 업로드, 분석, 가리기, 다운로드 워크플로, 크기 및 형식 제한, OCR 언어 지원, 그리고 기본이 되는 API 호출까지 안내합니다.
워크플로: 업로드, 분석, 가리기, 다운로드
웹 앱을 사용하든, API를 직접 호출하든, MCP 서버를 통해 anonym_legal_redact_image 도구를 호출하든 모든 이미지는 동일한 4단계를 거칩니다.
1. 업로드
PNG 또는 JPG 파일을 선택하세요. 서버로 전송하기 전에 앱이 요금제의 업로드 한도에 맞춰 파일 형식과 크기를 확인합니다.
2. 분석
OCR(Tesseract)이 이미지 속 텍스트를 읽고 각 텍스트의 위치를 기록합니다. 추출된 텍스트는 문서에 사용되는 것과 동일한 PII 탐지기를 거쳐, 발견된 엔티티와 그 위치를 반환합니다 — 아직 아무것도 가려지지 않습니다.
3. 가리기
mode를 "redact"로 설정하여 요청을 다시 실행하면, 감지된 모든 영역이 이미지 픽셀 위에 직접 그려진 검은색 상자로 가려집니다. 이는 되돌릴 수 없는 시각적 가리기 처리이며, 가역적 암호화가 아닙니다.
4. 다운로드
가려진 이미지는 파일(PNG 또는 원본 콘텐츠 유형)로 반환되어 로컬에 저장하며, 응답이 전송된 후에는 서버에 아무것도 남지 않습니다.
크기 및 픽셀 제한
- PNG와 JPG(JPEG)만 지원됩니다. TIFF, BMP, WebP, GIF 등 다른 래스터 형식은 현재 지원되지 않습니다.
- 이미지는 서버 측에서 최대 20MB로 제한됩니다. 요금제 자체의 한도가 더 낮을 수 있습니다 — Basic 플랜은 업로드를 5MB로 제한합니다(Pro 10MB, Business 20MB). 무료 플랜은 이미지 가리기 기능을 전혀 포함하지 않습니다.
- 총 해상도(너비 × 높이)는 최대 1억 5천만 픽셀로 제한됩니다. 이 한도를 초과하는 업로드는 처리 전에 거부됩니다.
OCR 언어 지원
OCR은 Tesseract로 실행됩니다. API의 language 필드는 ISO 639-1 코드(기본값은 영어의 "en")를 받아 Tesseract 언어 팩에 매핑합니다 — 독일어, 프랑스어, 스페인어, 이탈리아어, 포르투갈어, 네덜란드어, 폴란드어, 러시아어, 우크라이나어, 아랍어, 히브리어, 힌디어, 일본어, 한국어, 중국어, 태국어, 베트남어, 터키어를 포함해 약 30여 개 언어가 매핑되어 있습니다. 실제 사용 가능 여부는 OCR 호스트에 설치된 Tesseract 팩에 따라 다르며, 사용할 수 없는 언어는 영어로 대체됩니다.
API 참조
이미지 삭제 기능은 웹 앱을 거치지 않는 통합을 위해 API로 직접 사용할 수 있으며, Claude와 같은 MCP 클라이언트를 위해 MCP 서버를 통해 anonym_legal_redact_image 도구 (모드 "analyze" 또는 "redact")로도 제공됩니다.
POST /api/presidio/imageAuthentication: Authorization 헤더에 Bearer 토큰으로 인증합니다(텍스트 분석 엔드포인트와 동일하게 API 토큰 또는 인증된 세션 사용). 유효한 토큰이 없는 요청은 401을 반환합니다.
Request body: multipart/form-data 본문으로 전송하세요. 필수 필드: file(PNG 또는 JPG 이미지)과 mode("analyze" 또는 "redact"). 선택 필드: language(ISO 639-1 OCR 언어 코드, 기본값 "en"), entities(감지를 제한할 엔티티 유형의 JSON 배열), score_threshold, fill_color(redact 모드 전용, 기본값 "black"), operator (redact mode only: "redact" | "replace" | "mask", default "redact"), and mask_char (redact mode with operator="mask" only, default "*").
Response: analyze 모드의 응답은 JSON입니다: 감지된 엔티티(유형, 텍스트 위치, 신뢰도 점수)와 tokens_charged 필드를 포함합니다. redact 모드의 응답은 가려진 이미지 자체(바이너리, Content-Type image/png 또는 원본 유형)이며 토큰 비용은 X-Tokens-Charged 헤더로 반환됩니다.
FAQ
어떤 이미지 형식이 지원되나요?
PNG와 JPG(JPEG)만 지원됩니다. TIFF, BMP, WebP, GIF 등 다른 래스터 형식은 현재 지원되지 않습니다.
크기와 해상도 제한은 어떻게 되나요?
총 해상도 기준 20MB, 1억 5천만 픽셀이며, 요금제 자체의 업로드 한도(Basic 5MB, Pro 10MB, Business 20MB)로 추가 제한됩니다.
이미지 가리기 기능에 유료 플랜이 필요한가요?
예. 이미지 가리기 기능은 Basic 플랜 이상이 필요합니다. 무료 플랜은 텍스트 익명화만 지원합니다.
가리기 처리는 되돌릴 수 있나요?
아니요. 가리기 처리는 감지된 영역을 이미지 픽셀 위에 불투명한 검은색 상자로 직접 덮습니다 — 텍스트 익명화 도구가 제공하는 가역적 암호화가 아닌, 되돌릴 수 없는 시각적 가리기 처리입니다.
웹 앱 대신 API를 직접 호출하려면 어떻게 하나요?
Authorization 헤더에 Bearer 토큰을 담고, file과 mode("analyze" 또는 "redact")를 포함한 multipart/form-data 본문으로 /api/presidio/image에 POST 요청을 보내세요. 전체 필드 목록과 응답 형식은 위의 API 참조 섹션을 확인하세요.
Limitations / Important note
- OCR-based text extraction is probabilistic; low-quality scans and handwriting lower detection recall.
- Redaction is a visual, one-way black box over the detected region — not reversible encryption.
- This page is informational and is not legal advice.
About this page
We update this page when our platform or the law changes.
Read our founder note for how we work.
Each change shows up in the timestamp at the top.
Related reading
We follow these rules
- GDPR (EU 2016/679).
- ISO/IEC 27001:2022, held by our hosting provider.
- NIS2 (EU 2022/2555).
- HIPAA safe harbor under 45 CFR § 164.514(b)(2).
Our promise
We do not sell your data.
We do not train models on your text.
We store your files in Germany.
You can delete your account at any time.
You own your work.
Where we run
Our company HQ is in Saarbrücken, Germany. Our servers run in Hetzner's Falkenstein datacenter.
Hetzner holds ISO 27001 certification.
All data stays in the EU.
Backups run every day.
Need help?
Email support@anonym.legal.
We reply within one business day.
How we test
Automated checks run on every release.
Each surface gets its own sweep script and report.
Human reviewers spot-check the output each week.
We test detection against sample documents before each release.
A failing unit or integration run stops the release.
What we never do
- We never sell your information to third parties.
- We never train models on what you upload.
- We never keep your work after you delete it.
- We never share keys with any outside firm.
- We never run ads inside the product.
Plans in plain words
We sell credits, not seats.
One credit covers one short job.
Long jobs use a few credits each.
Paid plans can buy top-up credits.
Credits reset at the end of each cycle.
Read the plans page for current rates.
Who built this
A small team of engineers and lawyers built this.
We ship from Europe and work in the open.
Our founder note spells out why we started.
Where to start
- Open the web app and try a sample file.
- Learn how credits get counted.
- See current plans and limits.
- Meet the team behind the product.
How the parts fit
A browser add-on cleans text inside Chrome.
A Word plug-in handles drafts in Office.
A small desktop tool works on whole folders.
An agent protocol link feeds large models safely.
All four share one core engine and one rule set.
Words from our team
We started this work after a lunch about cookies.
One friend kept getting odd ads on her phone.
We asked why a court file leaked through a draft.
We sketched the first build on a napkin that week.
By month three we had a tiny demo for a friend.
She used it on her first case the next day.
Common questions we hear
Can the tool read scanned PDFs? Yes, with OCR.
Does it work on long files? Yes, in small chunks.
Can I roll my own rule set? Yes, save it as a preset.
Does it run offline? The desktop build runs offline.
Do you keep my files? No, the cloud build wipes after each run.
Will it learn from my work? No, we never train on inputs.
A short tour of the workflow
Upload a file or paste a snippet of prose.
Pick the entities you want gone from the draft.
Choose a method: replace, mask, hash, encrypt, or redact.
Press run and watch the side panel show each hit.
Skim the result and tweak any rule that misfired.
Save the cleaned file or send it to a teammate.