Privacy Policy / 개인정보 처리방침

Last updated / 최종 갱신: 2026-06-07

English

rulepact ("we", "us") is a comment moderation SaaS for YouTube creators and SMBs. This policy explains what data we receive from Google APIs, how we use it, how we protect it, how long we keep it, and your rights.

1. Data we collect

  • Google account email — from OAuth ID token. Used to identify the channel owner and send re-authentication emails when needed.
  • YouTube channel ID, title, handle, uploads playlist ID — from channels.list?mine=true. Used to render the channel card on your dashboard and to identify which playlist to fetch comments from.
  • OAuth refresh and access tokens — encrypted at rest using authenticated symmetric encryption (pgcrypto / pgp_sym_encrypt). Used solely to call the YouTube Data API on your behalf.
  • Recent video metadata (videoId, publishedAt) — from playlistItems.list. Used to track the last comment we have seen.
  • Comment text and author display name — from commentThreads.list. Comment bodies are evaluated against the keyword rules you have explicitly created. Only matched comments are persisted (as a snapshot in the moderation action log) — non-matched comment bodies are discarded immediately after evaluation.

2. How we use the data

We use the data exclusively to provide the comment moderation features visible in our dashboard:

  • Listing your connected channels and showing quota usage.
  • Fetching recent comments on your own videos when you click the "refresh" button or visit the dashboard.
  • Matching those comments against the keyword rules you have explicitly defined, and calling comments.delete on matched ones.
  • Recording each deletion in a moderation history view that you can audit at any time.
  • Sending a re-authentication email if your Google refresh token expires or is revoked.

3. Data security & protection of sensitive data

We treat Google user data — in particular OAuth tokens and YouTube channel/comment data — as sensitive data and protect it with the following mechanisms:

  • Encryption in transit — all traffic between your browser, our servers, and Google APIs is encrypted with TLS 1.2+ (HTTPS only; HTTP is redirected). API calls to Google are made over https:// exclusively.
  • Encryption at rest — the database (Neon managed Postgres) encrypts all stored data at rest with AES-256. In addition, OAuth refresh/access tokens are individually encrypted at the application layer using authenticated symmetric encryption (pgcrypto / pgp_sym_encrypt) with a key that is held only in our server environment and never stored in the database. Plaintext tokens are never written to disk or logs.
  • Access control — the database is not publicly exposed and is reachable only from our application/worker over an authenticated, encrypted connection. Access to production systems and secrets is restricted to the operator on a least-privilege basis. Each user can access only their own channels, rules, and moderation history (row-level ownership checks on every request).
  • Secrets management — encryption keys, OAuth client secrets, and API credentials are stored as environment secrets in our hosting platform (Railway), not in source code or the database.
  • Data minimization — comment bodies that do not match a rule are discarded immediately after evaluation and never persisted. We request only the OAuth scopes required to operate (channel read + comment moderation).
  • Token revocation & erasure — when you disconnect a channel or delete your account, stored tokens are overwritten with zero-bytes and revoked at Google immediately.

4. YouTube API Services / Limited Use disclosure

rulepact's use and transfer to any other app of information received from Google APIs will adhere to Google API Services User Data Policy, including the Limited Use requirements.

We do not transfer Google user data to AI / ML models, advertising platforms, or any third party for purposes other than providing or improving user-facing features that are prominent in our application.

5. Data sharing (sub-processors)

We share data only with the infrastructure providers required to operate the service:

  • Railway — application hosting (web + worker).
  • Neon — managed Postgres database (encrypted at rest).
  • Resend — transactional email delivery (verification + re-auth alerts).

We do not sell or rent personal data, and we do not share it with advertisers or data brokers.

6. Retention

  • Account email and channel metadata — kept while the account / channel is connected. Deleted within 14 days of account deletion or channel disconnect.
  • OAuth tokens — overwritten with zero-bytes immediately when you disconnect a channel; access token revoked at Google.
  • Comment bodies (non-matched) — discarded immediately after rule evaluation; never persisted.
  • Moderation history (matched comment snapshot + rule ID) — retained according to your retention policy (default 90 days).

7. Your rights

  • Access / export — request a copy of all data we hold about you by emailing [email protected]. We respond within 5 business days.
  • Deletion — disconnect any channel from the dashboard, or delete your entire account; both actions trigger erasure within 14 days.
  • Revoke Google access — visit myaccount.google.com/permissions to revoke our access at any time. You can also click "Disconnect" inside our app, which calls Google's revocation endpoint and overwrites our stored tokens.
  • GDPR / CCPA — EU and California residents have the right to access, rectify, delete, and port their personal data. Contact us at the email above to exercise these rights.

8. Contact

For privacy questions, email [email protected]. We respond within 5 business days.


한국어

rulepact 은 YouTube 크리에이터와 소상공인을 위한 댓글 모더레이션 SaaS 입니다. 본 방침은 Google API 로부터 수신하는 데이터의 종류, 이용 목적, 보호 방법, 보관 기간, 그리고 사용자 권리를 설명합니다.

1. 수집하는 정보

  • Google 계정 이메일 — OAuth ID 토큰에서 수신. 채널 소유자 식별 및 재인증 알림 발송에 사용합니다.
  • YouTube 채널 ID / 제목 / 핸들 / uploads 플레이리스트 ID channels.list?mine=true 응답. 대시보드의 채널 카드 표시와 댓글 fetch 진입점으로 사용합니다.
  • OAuth refresh / access 토큰 — pgcrypto 의 pgp_sym_encrypt 로 암호화 저장. YouTube Data API 호출 외 용도로 사용하지 않습니다.
  • 최근 영상 메타데이터 (videoId, publishedAt) — playlistItems.list 응답. 마지막으로 본 댓글 시각 마커로 사용.
  • 댓글 본문 / 작성자명commentThreads.list 응답. 사용자가 명시적으로 정의한 키워드 룰과 매칭 평가에만 사용. 매칭되지 않은 댓글 본문은 평가 직후 즉시 폐기하며, 매칭된 댓글만 모더레이션 액션 로그에 본문 스냅샷이 기록됩니다.

2. 이용 목적

rulepact 대시보드에서 노출되는 기능 — 채널 카드, 댓글 새로고침, 키워드 룰 매칭, 모더레이션 히스토리, 재인증 알림 — 을 제공하는 데에만 사용합니다.

3. 데이터 보안 및 민감 데이터 보호

rulepact 은 Google 사용자 데이터 — 특히 OAuth 토큰과 YouTube 채널/댓글 데이터 — 를 민감 데이터로 간주하며 다음과 같은 메커니즘으로 보호합니다:

  • 전송 중 암호화 — 브라우저, 서버, Google API 간의 모든 트래픽은 TLS 1.2+ (HTTPS 전용, HTTP 는 리다이렉트) 로 암호화됩니다. Google API 호출은 전적으로 https:// 로만 이루어집니다.
  • 저장 시 암호화 — 데이터베이스(Neon 관리형 Postgres)는 저장된 모든 데이터를 AES-256 으로 암호화합니다. 추가로 OAuth refresh/access 토큰은 애플리케이션 계층에서 인증된 대칭키 암호화(pgcrypto / pgp_sym_encrypt)로 개별 암호화하며, 암호화 키는 서버 환경에만 보관되고 데이터베이스에 저장되지 않습니다. 평문 토큰은 디스크나 로그에 기록되지 않습니다.
  • 접근 통제 — 데이터베이스는 외부에 공개되지 않으며, 인증·암호화된 연결을 통해 애플리케이션/워커에서만 접근됩니다. 운영 시스템과 시크릿 접근은 최소권한 원칙에 따라 운영자에게만 제한됩니다. 각 사용자는 매 요청마다 row 단위 소유권 검증을 거쳐 본인의 채널·룰·모더레이션 히스토리에만 접근할 수 있습니다.
  • 시크릿 관리 — 암호화 키, OAuth client secret, API 자격증명은 소스코드나 데이터베이스가 아닌 호스팅 플랫폼(Railway)의 환경 시크릿으로 보관합니다.
  • 데이터 최소화 — 룰에 매칭되지 않은 댓글 본문은 평가 직후 즉시 폐기하며 영구 저장하지 않습니다. 운영에 필요한 OAuth 스코프(채널 조회 + 댓글 모더레이션)만 요청합니다.
  • 토큰 폐기 및 삭제 — 채널 연결 해제 또는 계정 탈퇴 시 저장된 토큰은 즉시 zero-bytes 로 덮어쓰고 Google 측에서 revoke 처리합니다.

4. YouTube API Limited Use 명시

Google API 로부터 수신한 정보의 사용 및 이전은 Google API Services User Data Policy (Limited Use 요건 포함) 를 따릅니다. AI / ML 학습, 광고, 다른 제3자에 대한 이전 등 사용자 가시 기능 제공 외 목적으로 사용하지 않습니다.

5. 제3자 공유 (sub-processor)

  • Railway — 애플리케이션 호스팅 (web / worker)
  • Neon — 관리형 Postgres (저장 시 암호화)
  • Resend — 트랜잭션 이메일 발송 (이메일 검증 / 재인증 알림)

개인정보 판매 / 임대 / 광고 사업자에 대한 공유는 일체 없습니다.

6. 보관 기간

  • 계정 / 채널 메타데이터: 연결 유지 기간 + 해제/탈퇴 후 14일 이내 폐기.
  • OAuth 토큰: disconnect 즉시 zero-bytes 마스킹 + Google 측 revoke.
  • 매칭되지 않은 댓글 본문: 평가 직후 즉시 폐기. 영구 저장 없음.
  • 모더레이션 히스토리 (매칭 본문 스냅샷): 기본 90일 보관.

7. 사용자 권리

  • 조회 / 내보내기: [email protected] 으로 요청 시 영업일 기준 5일 이내 제공.
  • 삭제: 대시보드에서 채널 disconnect 또는 계정 탈퇴. 14일 이내 전체 데이터 폐기.
  • Google 권한 취소: myaccount.google.com/permissions 에서 직접 권한 취소 가능. 앱 내 "연결 해제" 버튼은 Google 의 revocation 엔드포인트 호출 + 저장된 토큰 마스킹을 동시에 수행합니다.

8. 문의

개인정보 관련 문의: [email protected] (영업일 기준 5일 이내 답변).