1. 개요
Devoogie Studio(이하 “운영자”)은 SocialHub(이하 “서비스”)의 실제 기능과 선언된 데이터 처리를 기준으로 이 방침을 제공합니다.
이 문서는 법률 자문이나 외부 플랫폼 승인을 보장하지 않습니다.
2. 수집 항목, 방식 및 목적
다음 방식으로 정보를 수집하거나 생성합니다.
- 사용자 직접 제공
- OAuth 제공자
- 자동 수집
- 서비스 이용 중 생성
- 사용자 요청으로 가져옴
| 항목 | 출처 | 목적 | 저장 위치 | 구분 |
|---|---|---|---|---|
| 연결된 계정 식별 정보 | OAuth 제공자 | 플랫폼, 제공자 계정 ID, 핸들, 표시 이름과 연결 상태를 저장하여 선택한 계정을 표시하고 기능 대상을 식별합니다. | 계정 이름·ID, OAuth 범위·만료 정보, 게시물 텍스트·URL, 전달 오류, 지표와 감사 세부사항은 사용자의 Mac에 있는 로컬 SQLite에 저장되며 현재 코드에서는 애플리케이션 수준으로 암호화되지 않습니다. 로컬 파일 권한과 운영체제·기기 보안 경계에 의존합니다. | 필수 |
| OAuth 접근 및 갱신 토큰 | OAuth 제공자 | 사용자가 승인한 연결을 유지하고 선택한 플랫폼 기능을 호출합니다. 토큰은 SQLite에 저장하기 전에 AES-256-GCM으로 암호화됩니다. | OAuth 접근·갱신 토큰은 AES-256-GCM으로 암호화되어 사용자의 Mac에 있는 로컬 SQLite에 저장됩니다. 개발자 클라이언트 설정과 토큰 암호화 키를 포함하는 데스크톱 구성은 Electron safeStorage로 암호화된 로컬 구성 파일에 저장됩니다. | 필수 |
| OAuth 범위, 토큰 유형 및 만료 정보 | OAuth 제공자 | 연결의 권한과 갱신 필요 여부를 판단합니다. 이 메타데이터는 애플리케이션 수준에서 암호화되지 않은 로컬 SQLite 레코드입니다. | 계정 이름·ID, OAuth 범위·만료 정보, 게시물 텍스트·URL, 전달 오류, 지표와 감사 세부사항은 사용자의 Mac에 있는 로컬 SQLite에 저장되며 현재 코드에서는 애플리케이션 수준으로 암호화되지 않습니다. 로컬 파일 권한과 운영체제·기기 보안 경계에 의존합니다. | 필수 |
| 단기 OAuth 거래 상태 | 앱 이용 | OAuth 응답을 시작한 로컬 세션과 연결하고 요청 위조를 방지합니다. 암호화된 HttpOnly 쿠키의 유효 기간은 최대 10분입니다. | OAuth 거래 상태와 연결 중 조회되는 일부 프로필·게시 옵션은 사용자의 기기에서 일시적으로 처리됩니다. OAuth 상태 쿠키는 암호화되고 HttpOnly로 설정되며 최대 10분 후 만료됩니다. | 필수 |
| 연결 시 일시 처리되는 제공자 프로필 및 게시 옵션 | OAuth 제공자 | 계정을 확인하고 사용 가능한 게시 옵션을 구성합니다. 아바타 URL과 일부 계정·크리에이터 통계는 현재 콜백 저장 단계에서 폐기됩니다. | OAuth 거래 상태와 연결 중 조회되는 일부 프로필·게시 옵션은 사용자의 기기에서 일시적으로 처리됩니다. OAuth 상태 쿠키는 암호화되고 HttpOnly로 설정되며 최대 10분 후 만료됩니다. | 선택 |
| 사용자가 작성한 게시 콘텐츠와 공개 미디어 URL | 사용자 | 제목, 본문, 예약 시간, 미디어 유형·이름·URL 및 플랫폼별 게시 옵션을 로컬에 저장하고 사용자가 선택한 플랫폼에 게시합니다. YouTube 게시 시 로컬 프로세스가 공개 HTTPS 동영상 URL에서 최대 256 MiB를 메모리로 내려받아 Google에 업로드합니다. Instagram, TikTok 및 Threads에는 제공자가 가져갈 공개 HTTPS 미디어 URL을 보내며 X는 현재 텍스트만 전송합니다. |
계정 이름·ID, OAuth 범위·만료 정보, 게시물 텍스트·URL, 전달 오류, 지표와 감사 세부사항은 사용자의 Mac에 있는 로컬 SQLite에 저장되며 현재 코드에서는 애플리케이션 수준으로 암호화되지 않습니다. 로컬 파일 권한과 운영체제·기기 보안 경계에 의존합니다. 사용자가 선택한 콘텐츠, 공개 미디어 URL 또는 YouTube 동영상 바이트와 기능별 옵션은 요청한 작업을 수행하기 위해 선택된 소셜 플랫폼으로 전송되며, 이후 처리는 각 플랫폼의 약관과 개인정보처리방침을 따릅니다. |
선택 |
| 연결된 계정의 본인 게시물 기록 | OAuth 제공자 | 본인 게시물의 제공자 게시물 ID, 텍스트, 미디어 정보, 원격 URL, 게시 시각과 제공자 메타데이터를 가져와 로컬 기록에 표시합니다. | 계정 이름·ID, OAuth 범위·만료 정보, 게시물 텍스트·URL, 전달 오류, 지표와 감사 세부사항은 사용자의 Mac에 있는 로컬 SQLite에 저장되며 현재 코드에서는 애플리케이션 수준으로 암호화되지 않습니다. 로컬 파일 권한과 운영체제·기기 보안 경계에 의존합니다. | 선택 |
| 게시 명령, 전달 결과 및 오류 기록 | 앱 이용 | 대상별 게시 payload 사본, 재시도·잠금 상태, 원격 게시물 ID·URL, HTTP 상태와 제공자 오류 정보를 저장하여 게시 상태를 표시하고 실패를 진단합니다. | 계정 이름·ID, OAuth 범위·만료 정보, 게시물 텍스트·URL, 전달 오류, 지표와 감사 세부사항은 사용자의 Mac에 있는 로컬 SQLite에 저장되며 현재 코드에서는 애플리케이션 수준으로 암호화되지 않습니다. 로컬 파일 권한과 운영체제·기기 보안 경계에 의존합니다. 사용자가 선택한 콘텐츠, 공개 미디어 URL 또는 YouTube 동영상 바이트와 기능별 옵션은 요청한 작업을 수행하기 위해 선택된 소셜 플랫폼으로 전송되며, 이후 처리는 각 플랫폼의 약관과 개인정보처리방침을 따릅니다. |
선택 |
| 게시물 공개 성과 지표 snapshot | OAuth 제공자 | 본인 게시물의 조회, 도달, 좋아요, 댓글·답글, 공유 등 플랫폼이 제공하는 집계 수치를 시점별로 저장하고 표시합니다. 댓글 본문이나 댓글 작성자 계정은 현재 수집하지 않습니다. | 계정 이름·ID, OAuth 범위·만료 정보, 게시물 텍스트·URL, 전달 오류, 지표와 감사 세부사항은 사용자의 Mac에 있는 로컬 SQLite에 저장되며 현재 코드에서는 애플리케이션 수준으로 암호화되지 않습니다. 로컬 파일 권한과 운영체제·기기 보안 경계에 의존합니다. | 선택 |
| 로컬 작업 감사 기록 | 앱 이용 | 작업, 대상, 성공·실패·거부 결과와 진단 세부사항을 기록하여 로컬 동작을 추적하고 오류를 조사합니다. | 계정 이름·ID, OAuth 범위·만료 정보, 게시물 텍스트·URL, 전달 오류, 지표와 감사 세부사항은 사용자의 Mac에 있는 로컬 SQLite에 저장되며 현재 코드에서는 애플리케이션 수준으로 암호화되지 않습니다. 로컬 파일 권한과 운영체제·기기 보안 경계에 의존합니다. | 필수 |
3. 저장 위치와 보안
- 사용자 기기 — OAuth 접근·갱신 토큰은 AES-256-GCM으로 암호화되어 사용자의 Mac에 있는 로컬 SQLite에 저장됩니다. 개발자 클라이언트 설정과 토큰 암호화 키를 포함하는 데스크톱 구성은 Electron safeStorage로 암호화된 로컬 구성 파일에 저장됩니다.
- 사용자 기기 — 계정 이름·ID, OAuth 범위·만료 정보, 게시물 텍스트·URL, 전달 오류, 지표와 감사 세부사항은 사용자의 Mac에 있는 로컬 SQLite에 저장되며 현재 코드에서는 애플리케이션 수준으로 암호화되지 않습니다. 로컬 파일 권한과 운영체제·기기 보안 경계에 의존합니다.
- 사용자 기기 — OAuth 거래 상태와 연결 중 조회되는 일부 프로필·게시 옵션은 사용자의 기기에서 일시적으로 처리됩니다. OAuth 상태 쿠키는 암호화되고 HttpOnly로 설정되며 최대 10분 후 만료됩니다.
- 연결된 플랫폼 — 사용자가 선택한 콘텐츠, 공개 미디어 URL 또는 YouTube 동영상 바이트와 기능별 옵션은 요청한 작업을 수행하기 위해 선택된 소셜 플랫폼으로 전송되며, 이후 처리는 각 플랫폼의 약관과 개인정보처리방침을 따릅니다.
서비스는 위에 선언된 저장·보호 방식을 사용하지만, 어떠한 저장 또는 전송 방식도 절대적인 보안을 보장할 수 없습니다.
4. 외부 서비스와 제3자 처리
사용자가 요청한 기능을 제공하기 위해 다음 외부 서비스와 관련 정보를 처리할 수 있습니다. 각 서비스에는 자체 개인정보처리방침이 적용됩니다.
- Google / YouTube — 소유 채널 연결, 동영상 게시·삭제, 본인 업로드 기록 가져오기 및 동영상 통계 조회에 사용합니다. 현재 어댑터는 모든 YouTube 기능에 광범위한 `youtube.force-ssl` OAuth 범위를 요청합니다. 미검증 API 프로젝트의 업로드 공개 범위 등 실제 운영 제한은 외부 확인이 필요합니다.
관련 정보: 연결된 계정 식별 정보, OAuth 접근 및 갱신 토큰, OAuth 범위, 토큰 유형 및 만료 정보, 단기 OAuth 거래 상태, 연결 시 일시 처리되는 제공자 프로필 및 게시 옵션, 사용자가 작성한 게시 콘텐츠와 공개 미디어 URL, 연결된 계정의 본인 게시물 기록, 게시 명령, 전달 결과 및 오류 기록, 게시물 공개 성과 지표 snapshot - Meta / Instagram — Professional 계정 연결, 이미지·Reel 게시, 본인 미디어 기록 가져오기 및 인사이트 조회에 사용합니다. 현재 어댑터는 `instagram_business_basic`, `instagram_business_content_publish`, `instagram_business_manage_insights` 범위를 요청합니다. 계정 유형, 앱 역할·접근 수준 및 App Review는 외부 확인이 필요하며 원격 게시물 삭제는 현재 구현하지 않습니다.
관련 정보: 연결된 계정 식별 정보, OAuth 접근 및 갱신 토큰, OAuth 범위, 토큰 유형 및 만료 정보, 단기 OAuth 거래 상태, 연결 시 일시 처리되는 제공자 프로필 및 게시 옵션, 사용자가 작성한 게시 콘텐츠와 공개 미디어 URL, 연결된 계정의 본인 게시물 기록, 게시 명령, 전달 결과 및 오류 기록, 게시물 공개 성과 지표 snapshot - TikTok — 크리에이터 연결, 게시 옵션 조회, 동영상·사진 직접 게시와 상태 확인, 본인 동영상 기록 가져오기 및 공개 지표 조회에 사용합니다. 현재 소스 어댑터가 요청하는 범위는 `user.info.basic`, `video.list`, `video.publish`이며, 콘솔의 `video.upload` 설정 여부와 별개입니다. Sandbox 저장·target user·감사·Production 승인과 공개 게시 자격은 외부에서 확인해야 하며 원격 게시물 삭제는 현재 구현하지 않습니다.
관련 정보: 연결된 계정 식별 정보, OAuth 접근 및 갱신 토큰, OAuth 범위, 토큰 유형 및 만료 정보, 단기 OAuth 거래 상태, 연결 시 일시 처리되는 제공자 프로필 및 게시 옵션, 사용자가 작성한 게시 콘텐츠와 공개 미디어 URL, 연결된 계정의 본인 게시물 기록, 게시 명령, 전달 결과 및 오류 기록, 게시물 공개 성과 지표 snapshot - Meta / Threads — 프로필 연결, 게시물 게시·삭제, 본인 게시물 기록 가져오기 및 인사이트 조회에 사용합니다. 현재 어댑터는 `threads_basic`, `threads_content_publish`, `threads_delete`, `threads_manage_insights` 범위를 요청합니다. 사용 사례, 테스트 사용자, Live Mode와 App Review 상태는 외부 확인이 필요합니다.
관련 정보: 연결된 계정 식별 정보, OAuth 접근 및 갱신 토큰, OAuth 범위, 토큰 유형 및 만료 정보, 단기 OAuth 거래 상태, 연결 시 일시 처리되는 제공자 프로필 및 게시 옵션, 사용자가 작성한 게시 콘텐츠와 공개 미디어 URL, 연결된 계정의 본인 게시물 기록, 게시 명령, 전달 결과 및 오류 기록, 게시물 공개 성과 지표 snapshot - X — 프로필 연결, 텍스트 게시물 게시·삭제, 본인 게시물 기록 가져오기 및 공개 지표 조회에 사용합니다. 현재 어댑터는 `tweet.read`, `users.read`, `tweet.write`, `offline.access` 범위를 요청합니다. API 이용 자격, 비용·지출 한도 및 실제 rate limit은 외부 확인이 필요합니다.
관련 정보: 연결된 계정 식별 정보, OAuth 접근 및 갱신 토큰, OAuth 범위, 토큰 유형 및 만료 정보, 단기 OAuth 거래 상태, 연결 시 일시 처리되는 제공자 프로필 및 게시 옵션, 사용자가 작성한 게시 콘텐츠와 공개 미디어 URL, 연결된 계정의 본인 게시물 기록, 게시 명령, 전달 결과 및 오류 기록, 게시물 공개 성과 지표 snapshot
5. 보존 및 파기
- OAuth 접근·갱신 토큰
사용자가 SocialHub에서 계정 연결을 해제하거나 로컬 앱 데이터가 제거될 때까지
삭제 시점: 연결 해제 시 암호화된 OAuth credential을 로컬에서 삭제하고 계정을 revoked 상태로 표시합니다. 이는 제공자 측 권한 철회가 아닙니다. - OAuth 거래 상태 쿠키
최대 10분
삭제 시점: OAuth callback 처리 또는 쿠키 만료 - 계정 메타데이터, 작성·가져온 게시물, 게시 명령·전달 기록·오류, 지표 snapshot 및 감사 기록
자동 보존 기간이나 자동 삭제 작업이 없습니다. 사용자가 SocialHub 로컬 앱 데이터 파일을 제거하거나 향후 앱 내 삭제 기능이 해당 기록을 제거할 때까지 남을 수 있습니다.
삭제 시점: 계정 연결 해제나 원격 게시물 삭제만으로는 이 로컬 운영 기록이 삭제되지 않습니다.
6. 삭제 요청
현재 앱에는 전체 로컬 데이터 삭제 기능이 없습니다. 전체 로컬 기록을 없애려면 SocialHub를 종료하고 필요한 기록을 먼저 백업한 뒤 macOS의 파일 또는 저장 공간 관리 기능으로 SocialHub의 로컬 앱 데이터를 제거하세요. 계정 연결 해제는 암호화된 OAuth credential만 삭제하고 계정 메타데이터와 게시·전달·지표·감사 기록은 남길 수 있습니다. 원격 게시물 삭제는 YouTube, Threads 및 X에서만 구현되어 있고 실패하거나 검토가 필요할 수 있으며, Instagram과 TikTok 원격 삭제는 현재 지원하지 않습니다. 로컬 데이터 제거는 플랫폼에 있는 게시물이나 플랫폼 보유 데이터를 삭제하지 않으므로 해당 플랫폼에서 별도로 관리하세요.
- 운영체제 설정
- 수동 요청
- 플랫폼 계정 설정
7. 동의 철회와 계정 연결 해제
SocialHub에서 계정 연결을 해제하면 로컬의 암호화된 OAuth credential이 삭제되고 연결이 revoked로 표시되지만, 현재 제공자 측 OAuth 권한은 철회되지 않습니다. 연결을 완전히 철회하려면 해당 플랫폼의 계정 또는 보안 설정에서도 SocialHub 접근 권한을 별도로 해제하세요. 연결 해제만으로 기존 로컬 운영 기록은 삭제되지 않습니다.
- 앱 내 기능
- 플랫폼 계정 설정
8. 아동의 개인정보
서비스의 최소 이용 연령은 만 18세입니다.
서비스는 아동을 대상으로 설계되지 않았으며, 아동의 정보를 고의로 수집하지 않습니다.
SocialHub는 아동을 대상으로 하지 않으며 이용자는 만 18세 이상이어야 합니다. 또한 연결하는 각 플랫폼의 연령 및 이용 자격 요건을 충족해야 합니다.
9. 방침 변경
데이터 처리나 법적 요구사항이 변경되면 이 페이지를 갱신하고 최종 검토일을 표시합니다. 중요한 변경은 가능한 경우 서비스 안에서도 알립니다.
10. 문의와 준거법
개인정보 관련 문의 및 권리 행사는 다음 연락처로 요청할 수 있습니다: devoogie.studio@gmail.com
강행 법규가 달리 정하지 않는 한 이 방침은 대한민국 법률을 기준으로 해석됩니다.