# CouncilAI Privacy Policy / 개인정보처리방침
Last Updated (EST): `2026-05_28 17:00:00 EST`
## EN
### 1) Overview
CouncilAI operates in the user's browser to coordinate prompt input and response collection across user-selected AI services.
### 2) Data Handling
- The extension stores workflow state in `chrome.storage.local` on the user's browser.
- The extension does not send extension state to a separate developer-operated server.
- Exported files are generated as local downloads on the user's device.
### 3) Third-Party Services
CouncilAI interacts with user-selected target services:
- ChatGPT
- Claude
- Gemini
- Perplexity
Usage and data processing on those services are governed by each service's own policies.
### 4) Permissions
CouncilAI (**extension version** as published in the Chrome Web Store and in the extension root `manifest.json`) requests only what is required for orchestration and local state:
- **`storage`**: workflow state in `chrome.storage.local`.
- **`declarativeNetRequest`**: statically bundled rules that remove `X-Frame-Options` and `Content-Security-Policy` response headers for **sub_frame** requests to ChatGPT, Claude, and Gemini only, so those services can be embedded as iframes in the extension’s full-tab dashboard. No cookies, request bodies, or unrelated headers are modified.
- **`notifications`**: optional desktop notifications when a long-running debate step completes (R4, optional R5, or final synthesis) **while the CouncilAI dashboard tab is not active**. Notifications contain only a short local title and message (for example, that the step finished). Clicking a notification focuses the dashboard tab. Notification content is generated locally and is **not** sent to a developer server. CouncilAI does not use notifications for ads or promotional messages.
- **Host access** (declared in the manifest, HTTPS only): `chatgpt.com`, `claude.ai`, `gemini.google.com`, `www.perplexity.ai` — to run **declarative content scripts** on those sites and to coordinate messaging with tabs on those origins.
- **Orchestration APIs**: the service worker uses Chrome `windows` and `tabs` APIs (for example creating windows, sending messages to known tab IDs, closing tabs the extension opened) in a way that does **not** require the manifest **`tabs`** permission under current Chrome rules, together with the host access above.
- The extension does **not** declare the Chrome **`scripting`** permission; script injection is via manifest **`content_scripts`** only.
- **`web_accessible_resources`**: `data/selectors.json` is listed so content scripts can load it; allowed requesting origins are limited to the same four HTTPS patterns as in `manifest.json` (not `<all_urls>`).
Extension state is not sent to a separate developer-operated server (see sections 2–3).
### 5) Contact
- Support Email: Chartrho@gmail.com
- Support URL (Optional): None
---
## KO
### 1) 개요
CouncilAI는 사용자가 선택한 AI 서비스에 대해 프롬프트 입력 자동화와 응답 수집을 수행하는 브라우저 확장 프로그램입니다.
### 2) 데이터 처리
- 확장 프로그램 상태는 사용자 브라우저의 `chrome.storage.local`에 저장됩니다.
- 확장 프로그램 상태 데이터는 별도 개발자 서버로 전송하지 않습니다.
- 내보내기 파일은 사용자 장치로 로컬 다운로드됩니다.
### 3) 제3자 서비스
CouncilAI는 사용자가 선택한 아래 서비스와 상호작용합니다.
- ChatGPT
- Claude
- Gemini
- Perplexity
해당 서비스에서의 데이터 처리는 각 서비스의 정책을 따릅니다.
### 4) 권한
CouncilAI(Chrome 웹스토어 및 확장 루트 `manifest.json`에 공시된 **확장 버전**)은 오케스트레이션 및 로컬 상태 관리에 필요한 범위만 요청합니다.
- **`storage`**: 워크플로 상태를 `chrome.storage.local`에 저장합니다.
- **`declarativeNetRequest`**: ChatGPT·Claude·Gemini의 **sub_frame** 응답에서 `X-Frame-Options`·`Content-Security-Policy` 헤더만 선언적으로 제거해, 풀탭 대시보드 iframe 3열 뷰를 가능하게 합니다. 규칙은 패키지에 정적으로 포함되며, 쿠키·요청 본문·기타 헤더는 수정하지 않습니다.
- **`notifications`**: R4·(선택) R5·최종 정리 등 **장시간 토론 단계가 완료**되었는데 **CouncilAI 대시보드 탭이 활성화되어 있지 않을 때** 짧은 데스크톱 알림을 표시합니다. 알림에는 완료 안내 제목·메시지만 포함되며, 클릭 시 대시보드 탭으로 돌아갑니다. 알림 내용은 로컬에서 생성되며 **개발자 서버로 전송하지 않습니다.** 광고·홍보 목적 알림은 사용하지 않습니다.
- **호스트 접근**(매니페스트에 선언, HTTPS): `chatgpt.com`, `claude.ai`, `gemini.google.com`, `www.perplexity.ai` — 해당 출처에서 **선언형 `content_scripts`**를 실행하고, 같은 출처 탭과 메시지를 주고받습니다.
- **오케스트레이션 API**: 서비스 워커가 Chrome `windows`·`tabs` API(창 생성, 알려진 탭 ID로 메시지 전송, 확장이 연 탭 닫기 등)를 사용하며, 공시 매니페스트에는 **`tabs` 권한을 선언하지 않습니다**(호스트 접근과 병행 시 Chrome 규칙상 허용되는 사용).
- Chrome **`scripting` 권한은 선언하지 않습니다.** 스크립트 주입은 매니페스트의 **`content_scripts`**로만 이루어집니다.
- **`web_accessible_resources`**: 콘텐츠 스크립트가 `data/selectors.json`을 읽을 수 있도록 등록하며, 요청을 허용하는 출처는 매니페스트에 명시된 위 네 가지 HTTPS 패턴으로 한정합니다(`<all_urls>` 아님).
확장 프로그램 상태는 별도 개발자 운영 서버로 전송되지 않습니다(2–3절).
### 5) 문의
- 지원 이메일: Chartrho@gmail.com
- 지원 URL(선택): None
# CouncilAI Data Collection and Transmission Disclosure / 데이터 수집 및 전송 고지
Last Updated (EST): `2026-03_28 14:35:00 EST`
## EN
CouncilAI data disclosure for store submission:
- The extension runs locally in the user's browser.
- The extension stores runtime workflow state in browser local storage (`chrome.storage.local`).
- The extension does not transmit extension state data to a separate developer-operated server.
- The extension interacts with user-selected target services (ChatGPT, Claude, Gemini, Perplexity) to automate prompt input and collect responses.
- User-generated export files are downloaded locally to the user's machine.
- **Permissions (summary):** `storage`; HTTPS host access only for the four target origins above; no manifest **`tabs`** or **`scripting`** permission; content injection uses **`content_scripts`** only; **`web_accessible_resources`** exposes `data/selectors.json` to those same four origin patterns (see `manifest.json`).
## KO
스토어 제출용 CouncilAI 데이터 고지:
- 확장 프로그램은 사용자 브라우저 로컬 환경에서 동작합니다.
- 런타임 워크플로 상태는 브라우저 로컬 저장소(`chrome.storage.local`)에 저장됩니다.
- 확장 프로그램 상태 데이터는 별도 개발자 운영 서버로 전송하지 않습니다.
- 확장 프로그램은 사용자가 선택한 대상 서비스(ChatGPT, Claude, Gemini, Perplexity)와 상호작용하여 프롬프트 입력 자동화 및 응답 수집을 수행합니다.
- 사용자 생성 내보내기 파일은 사용자 장치로 로컬 다운로드됩니다.
- **권한(요약):** `storage`; 위 네 가지 대상 출처에 대한 HTTPS 호스트 접근만 사용; 매니페스트에 **`tabs`·`scripting` 권한 없음**; 스크립트 주입은 **`content_scripts`**만 사용; **`web_accessible_resources`**로 `data/selectors.json`을 동일 네 출처 패턴에만 공개(자세한 값은 `manifest.json` 참고).