활성 브라우저 탭 내부
사용 가능한 로컬 우선 도구는 브라우저 API와 지연 로딩되는 코드로 텍스트, 코드, 이미지, 문서를 변환합니다.
- 활성 메모리 — 입력은 현재 상호작용을 위한 페이지 메모리에만 보관됩니다.
- 임시 미리보기 — 생성된 미리보기와 객체 URL은 임시적이며, 작업 공간이 초기화되거나 언로드될 때 해제됩니다.
- 명시적 다운로드 — 다운로드는 명시적 내보내기 조작 뒤에만 일어나며, 이후에는 브라우저와 운영 체제가 관리합니다.
04 / DATA BOUNDARY
사용 가능한 모든 Toolars 도구는 입력 처리 위치를 명시합니다. 쉬운 말로 처리 경계를 읽고 직접 확인하세요. 감사된 제3자 호스트, 제공되는 보안 헤더, 그리고 이를 뒷받침하는 검사입니다.
숫자는 빌드 시점에 런타임 레지스트리에서 파생됩니다 — 손으로 적은 숫자는 없습니다.
도구 입력과 출력은 직접 제출하거나 내보내기 전까지 현재 탭에 남습니다.
사용 가능한 로컬 우선 도구는 브라우저 API와 지연 로딩되는 코드로 텍스트, 코드, 이미지, 문서를 변환합니다.
Supabase가 구성되면 인증, 즐겨찾기, 명시적 피드백, 도구 요청은 범위가 좁은 계정 계약을 사용합니다.
로컬 처리 안내는 기기 보안이나 내려받은 파일의 신중한 취급을 대신하지 못합니다.
이 수치는 사이트를 빌드할 때 카탈로그와 런타임 프라이버시 계약으로부터 계산됩니다. 둘이 어긋나면 해당 도구는 조용히 숨겨지지 않고 여기에 나열니다.
매니페스트에 processingLocation browser, inputLeavesDevice false, retention none이 명시된 경우에만 도구는 로컬로 계산됩니다 — 라벨은 카피가 아니라 계약에서 생성됩니다.
의도적으로 짧게 유지한 목록입니다. 도구 워크스페이스는 제3자 스크립트를 전혀 로드하지 않으며, 무거운 런타임은 동일 출처의 Web Worker, WASM, 정적 자산으로 제공됩니다. 아래는 사이트 셸 자체가 닿을 수 있는 전부입니다.
| 서비스 / 호스트 | 유형 | 용도 | 데이터 경계 |
|---|---|---|---|
track.toolars.com | 분석 | PostHog의 관리형 퍼스트파티 역방향 프록시를 통해 프로덕션 분석 이벤트를 받습니다(Cloudflare를 통해 제공). | 쿠키 없는 허용 목록 이벤트만: 정제된 페이지뷰, 19개의 지정된 제품 이벤트, Web Vitals, 예외. 도구 입력, 출력, 파일 이름, 검색어는 절대 포함되지 않습니다. SDK는 프로덕션 출처에서만 지연 로드됩니다. |
us.posthog.com | 분석 | 관리형 PostHog 애플리케이션을 식별해 UI 링크와 설정에 사용합니다. | 이벤트는 이 호스트로 흐르지 않습니다. 수집은 위의 프록시 행 호스트로 향합니다. |
project ref .supabase.co (NEXT_PUBLIC_SUPABASE_URL) | 계정 백엔드 | 인증, 즐겨찾기 동기화, 뉴스레터 구독, 피드백 저장. | 로그인, 구독, 양식 제출처럼 명시적인 사용자 작업에서만 연결됩니다. 워크스페이스는 이를 호출하지 않으며, 브라우저 번들에는 공개 키만 존재합니다. |
avatars.githubusercontent.com | 프로필 이미지 | GitHub으로 로그인한 계정의 프로필 사진. | 엄격한 이미지 옵티마이저 허용 목록을 통해 로드되며, 로그인된 헤더 메뉴에만 표시됩니다. |
lh3.googleusercontent.com | 프로필 이미지 | Google로 로그인한 계정의 프로필 사진. | 같은 엄격한 이미지 허용 목록입니다. 로그인하기 전에는 아무것도 로드되지 않습니다. |
buymeacoffee.com | 외부 링크 | 푸터의 선택적 크리에이터 지원 링크. | 임베드도 스크립트도 없는 일반 외부 링크로, 도구 사용에 대한 데이터를 받지 않습니다. |
chromewebstore.google.com | 외부 링크 | 확장 프로그램 설치 및 스토어 목록 링크. | 외부 이동만 하며 새 탭에서 열립니다. 스토어에는 일반 방문만 보이고 워크스페이스 내용은 절대 보이지 않습니다. |
x.com / github.com | 외부 링크 | Toolars의 X 계정과 GitHub 공개 저장소 링크입니다. | 링크를 선택할 때만 열립니다. 소셜 스크립트를 삽입하거나 해당 사이트에 자동으로 요청하지 않으며, 도구 입력이나 출력이 링크에 포함되지 않습니다. |
fonts.googleapis.com / fonts.gstatic.com | 빌드 시점 가져오기 | next/font를 통한 Barlow 폰트 파일의 빌드 시점 다운로드. | 런타임 폰트는 사이트 자체의 정적 경로에서 제공됩니다. Toolars를 사용하는 동안 브라우저는 Google Fonts에 요청을 본내지 않습니다. |
vercel.app (hosting platform) | 인프라 | Toolars의 모든 응답을 제공하는 호스팅 플랫폼. | 어떤 호스트든 보는 표준 요청 메타데이터(IP, 헤더)만 봅니다. 도구 입력과 출력은 통과하지 않습니다. |
cloudflare.com (DNS + proxy layer) | 인프라 | toolars.com의 DNS와 분석 호스트 뒤의 프록시 계층. | 호스팅 계층과 동일한 요청 메타데이터를 처리합니다. 워크스페이스 내용은 흐르지 않습니다. |
이 목록은 2026-09-19에 배포된 소스로부터 감사했습니다: 외부 출처 전체 트리 검색, next.config.ts의 이미지 허용 목록, ADR 007의 분석 계약.
이것은 모든 Toolars 페이지의 응답 헤더로, 설정을 생성하는 것과 동일한 타입 선언에서 읽습니다 — 이 표는 배포 내용과 어긋날 수 없습니다.
| 헤더 | 값 |
|---|---|
Strict-Transport-Security | max-age=63072000; includeSubDomains |
X-Content-Type-Options | nosniff |
Referrer-Policy | strict-origin-when-cross-origin |
X-Toolars-Release | a2f07a5231e271e8 |
Content-Security-Policy: 의도적으로 사이트 전체 미설정
Strict-Transport-SecurityX-Content-Type-OptionsReferrer-PolicyX-Toolars-ReleaseToolars는 아직 사이트 전체의 Content-Security-Policy 헤더를 본내지 않으며, 이 페이지도 그렇다고 가장하지 않습니다. 잘못된 출처를 차단하는 CSP는 계정 동기화나 승인된 분석 프록시를 망가뜨리므로, 해당 제어는 ADR 010에 따라 실제 라우트와 브라우저 동작에 대해 먼저 설계되고 있습니다. 위의 헤더는 오늘 배포되며, 여기에 적힌 모든 네트워크 경계는 코드로 강제되고 테스트로 뒷받침됩니다. docs/adr/010-local-processing-evidence.md
브라우저 이상의 도구는 필요 없습니다. 무해한 합성 파일이나 샘플 텍스트를 사용하세요 — 실제 민감한 데이터는 절대 사용하지 말고, 그것을 담은 스크린샷이나 HAR도 공개하지 마세요.
이 측정값은 scripts/capture-privacy-proof.mjs가 실제 브라우저로 프로덕션 빌드에서 수집했습니다. 파일 업로드, 교차 출처 요청과 카나리 유출을 검사합니다. 수집 날짜와 대상 릴리스는 결과와 함께 표시됩니다.
더 강하게 확인하려면 예열 후 네트워크를 끄고 반복하세요. 텍스트와 이미지 도구는 계속 동작합니다. PDF 도구는 예열 때 본 동일 출처 Worker 자산이 필요하므로, PDF의 오프라인 사용을 주장하지 않는 이유입니다.
2026-09-27 기록 · 내부 검증
리비전 0d02cd2cc4ab3d28에 대해 기록되었습니다. 이 페이지는 이제 a2f07a5231e271e8를 제공하므로, 이 수치를 현재 증거로 읽기 전에 캡처를 다시 실행하세요.
카나리 마커를 숨긴 테스트 파일로 PNG → JPEG 변환과 다운로드를 완료했습니다. 측정 구간: 요청 0건, 업로드 0건, 카나리 유출 0건.
측정 구간 요청 수: 0
HEIC → JPEG 변환과 다운로드 한 번: 약 3.3 MB의 지연 로딩 libheif 디코더는 처음 사용할 때 이 사이트 자체의 경로에서만 로드되며, 측정된 반복 변환은 0개의 요청, 0회의 업로드, 0건의 치명적(캐너리) 누수를 기록하고 캐너리 이름의 사진은 기기를 떠나지 않습니다.
측정 구간 요청 수: 0
/generated/runtime/7879e1c92e1bdb08/libheif.js/generated/runtime/e4aa8333fbe55ec7/libheif.wasm/generated/runtime/6c728441042ea88c/heic-decode-worker.js처음 사용할 때 엔진, 워커, 선택한 언어 팩(13개, 각 0.4~2 MB)은 이 사이트 자체 경로에서만 로드됩니다. 영어와 간체 중국어의 반복 인식은 각각 3개 요청, 0번 업로드입니다.
측정 구간 요청 수: 3
GET /generated/runtime/e4d26dedc913c87f/worker.min.jsGET /generated/runtime/775a35df6f2ae100/tesseract-core-lstm.wasm.jsGET /generated/runtime/d8438d6a4fba7bc3/eng.traineddata.gz/generated/runtime/775a35df6f2ae100/tesseract-core-lstm.wasm.js/generated/runtime/89456b34c2769c9a/chi_sim.traineddata.gz/generated/runtime/d8438d6a4fba7bc3/eng.traineddata.gz/generated/runtime/e4d26dedc913c87f/worker.min.js내장 샘플 불러오기, 회전, 결과 다운로드: 측정 구간 요청 0건, 업로드 0건, 카나리 유출 0건.
측정 구간 요청 수: 0
이 결과는 기록된 실행만을 대상으로 한 내부 검증이며, 독립적인 보안 감사가 아닙니다.
로컬 우선은 여기에서 구호가 아니라 아키텍처입니다. 세 가지 메커니즘이 데이터를 탭 안에 둡니다.
해싱, 정규식 평가, 차이 비교, 인코딩, 스트리밍은 전용 Web Worker 안에서 실행되며, 이 Worker들은 scripts/build-tool-workers.mjs가 TypeScript에서 컴파일합니다. Worker는 이 사이트의 동일 출처 스크립트이므로 수 MB 입력이 돌아가도 탭은 반응성을 유지합니다.
OCR 엔진(약 4 MB)과 각 0.4~2 MB 언어 팩, PDF 런타임은 도구를 연 후에만 이 사이트 자체의 정적 경로에서 로드됩니다. 인식과 파싱은 로컬에서 실행되며 처리를 위해 어떤 것도 업로드되지 않습니다.
도구의 실행 번들은 해당 도구를 열 때만 다운로드됩니다 — 카탈로그나 홈 페이지에서는 결코 로드되지 않습니다. 카탈로그 둘러보기는 메타데이터만 전송하며, 같은 Network 패널에서 쉽게 확인할 수 있습니다.
아래 검사 중 하나는 공개되어 있습니다. 개인정보 증명 캡처 하네스는 MIT 라이선스로 https://github.com/aixtral/toolars-open에 공개되어 있으므로, 라이브 사이트를 대상으로 직접 다시 실행할 수 있습니다. 나머지 명령은 고정된 Node와 pnpm 버전을 사용해 비공개 저장소에서 실행되며, 그 방법은 여기에 요약되어 있습니다.
기계가 읽을 수 있는 검증 영수증 — 실행하는 명령, 측정값, 그리고 이것이 증명하지 못하는 것: 검증 영수증(JSON).
| 스크립트 | 명령 | 검증 내용 |
|---|---|---|
로컬 처리 증명 하네스scripts/verify-local-processing.mjs | corepack pnpm verify:local-processing | 사이트를 다시 빌드하고, 새 브라우저 컨텍스트에서 네트워크를 차단하고, 합성 카나리로 대표 워크플로를 다시 실행하고, 소스와 빌드 지문을 비교해 영수증을 만듭니다. 재시도, 걸림, 드리프트 중 무엇이든 실행을 실패시킵니다. |
오픈 코어 종속성 감사scripts/audit-local-core.mjs | corepack pnpm audit:local-core | 공개 표면 후보의 실행 종속 그래프를 그리고, 소스 SHA-256 해시, 설치된 종속 버전, 라이선스 텍스트를 기록합니다. |
Worker 빌드scripts/build-tool-workers.mjs | corepack pnpm worker:build | 모든 브라우저 Web Worker를 TypeScript 소스에서 public/generated 아래 콘텐츠 해시가 붙은 파일로 컴파일해, 제공되는 Worker가 검토된 소스와 정확히 같도록 보장합니다. |
벤치마크 하네스scripts/benchmark-tools.mjs | node scripts/benchmark-tools.mjs | 도구별로 허용되는 최대 입력, 실행 시간 중앙값, 무결해 네트워크 격리를 측정한 뒤 벤치마크 페이지 뒤의 타입 데이터를 기록합니다. |
개인정보 증명 캡처 하네스scripts/capture-privacy-proof.mjs | node scripts/capture-privacy-proof.mjs | 헤드리스 Chromium에서 이미지 변환, OCR 엔진, PDF 회전을 실행하며 모든 요청(전용 Web Worker 요청 포함)을 기록한 뒤 이 페이지가 렌더링하는 증명 JSON을 작성합니다. 업로드, 교차 출처 요청, 카나리 유출 중 하나라도 있으면 실패합니다. |
벤치마크 페이지는 실제 헤드리스 브라우저에서 하네스가 만든 데이터를 표시하며, 입력이 기기에 남음을 증명하는 카나리 실행을 포함합니다.
로컬 우선이 곧 네트워크 제로는 아닙니다. 다음 기능은 작동에 네트워크가 필요해 데이터를 본내고, 각각 무엇이 기기를 떠나는지 정확히 밝힙니다.
로그인하면 Supabase Auth와 행 수준 보안이 있는 Postgres를 통해 즐겨찾기와 계정 상태가 동기화됩니다. 도구 입력과 출력은 그 동기화에 포함되지 않습니다 — 모든 워크스페이스는 로그아웃 상태에서도 작동합니다.
푸터 양식은 입력한 이메일 주소만 Supabase RPC로 본냅니다. 구독에 관한 분석 이벤트는 ADR 007 허용 목록대로 그 주소를 전혀 담지 않습니다.
이 양식들은 작성한 텍스트와 양식 메타데이터를 인증된 서버 액션으로 제출하며, 제출 전에 정확한 페이로드를 안내합니다. 워크스페이스 내용은 첨부되지 않습니다.
처음 사용할 때 OCR 도구는 이 사이트 자체의 /ocr 경로에서 약 4 MB의 엔진 파일과 선택한 언어별 언어 팩(0.4~2 MB)을 다운로드합니다. 다운로드는 모두 동일 출처이며, 이미지와 인식된 텍스트는 탭에 남고 다운로드된 팩은 브라우저의 오프라인 캐시에만 저장됩니다.
PDF 가져오기와 낯내기는 PDF.js Worker를 다시 시작해 예열 단계에서 본 동일 출처 정적 자산을 다시 가져옵니다. 그래서 PDF 도구의 완전한 오프라인 사용은 주장하지 않습니다.
확장 프로그램, 후원, 소셜 링크는 Chrome 웹 스토어, Buy Me a Coffee, X, GitHub로 연결됩니다. 모두 일반 외부 링크이며 타사 스크립트를 삽입하지 않습니다.
제3자 보안 감사도, 컴플라이언스 인증도 없습니다. 별도로 공개된 개인정보 증명 캡처 하네스와 두 개의 로컬 Node 패키지는 MIT 라이선스입니다. 웹사이트 자체의 소스 코드는 공개되지 않았으며 이에 대한 라이선스도 부여하지 않습니다. 이 페이지는 오늘 검증 가능한 것만 보여 줍니다.
제3자 고지 — 이 사이트가 재배포하는 구성 요소와 해당 라이선스 전문: 고지 및 라이선스 전문.
사양 개정 버전: 2026-09-26.1
로컬 처리는 입력을 브라우저에서 처리한다는 뜻입니다. 페이지, Worker, 코덱을 불러올 때는 네트워크 요청이 필요할 수 있습니다. 계정 작업과 허용 목록의 쿠키 없는 분석에는 별도의 서비스 경계가 있습니다.
오프라인 계약 a2f07a5231e271e8은 도구 49개에 적용됩니다. 현재 브라우저에서 각 도구를 먼저 준비해야 하며 캐시는 삭제될 수 있습니다. Workflow의 오프라인 새로고침은 보장되지 않으며 PDF 단계에는 정적 Worker 리소스가 필요할 수 있습니다.
민감하지 않은 예제로 작업을 불러온 다음 새 예제를 처리하며 Fetch/XHR, WebSocket, Worker 통신을 확인하세요. 오프라인 새로고침은 별도로 시험해야 합니다. 한 번의 통신 기록은 제삼자 보안 감사가 아닙니다.
모든 사용 가능한 도구에 대해 그렇습니다. 각 도구에는 브라우저 내 처리, 입력의 기기 비이탈, 보관 없음을 선언하는 타입이 지정된 런타임 매니페스트가 있습니다. 이 페이지의 라벨은 그 매니페스트에서 생성됩니다. 향후 클라우드나 하이브리드 도구는 출시 전에 경계를 공개해야 합니다.
잘 설계되지 않은 CSP는 계정 동기화나 승인된 분석 프록시를 망가뜨리므로, 해당 제어는 ADR 010에 따라 실제 라우트에 대해 먼저 만들어지고 있습니다. 그 전까지 이 페이지는 실제로 제공되는 헤더와 가능한 외부 연결을 정직하게 공개하며, 네트워크 경계는 코드로 강제되고 테스트로 뒷받침됩니다.
아니요. PostHog는 쿠키 없이 실행되며 자동 캡처, 세션 녹화, 영속화, 사용자 프로필이 모두 비활성화되어 있습니다. 허용 목록에는 정제된 페이지뷰, 19개의 지정된 제품 이벤트, Web Vitals, 예외만 들어가며 입력, 출력, 파일 이름, 검색어는 절대 포함되지 않고, 이벤트는 퍼스트파티 프록시 호스트를 통해서만 전송됩니다.
런타임 레지스트리와 카탈로그에서 빌드 시점에 파생되며, 벤치마크 페이지는 그 뒤의 측정 실행을 보여 줍니다. 카탈로그 라벨과 런타임 매니페스트가 어긋나면, 그 어긋남은 평균화되지 않고 이 페이지에 인쇄됩니다.
벤치마크 페이지는 실제 헤드리스 브라우저에서 하네스가 만든 데이터를 표시하며, 입력이 기기에 남음을 증명하는 카나리 실행을 포함합니다.