채널 연결 정보
모여는 각 플랫폼의 OAuth 로그인으로 채널을 연결하며 채널 비밀번호는 받지 않습니다.
- 연결할 때 게시·댓글·성과 중 쓸 기능을 고르면, 채널 확인에 필요한 기본 권한과 고른 기능의 권한만 요청합니다. 기능마다 하는 일은 연결 화면에서 안내하고, 기능은 나중에 다시 연결해 더할 수 있습니다. 플랫폼별 권한은 소셜 서비스 이용 안내에 있습니다.
- 플랫폼이 발급한 액세스 토큰과 갱신 토큰은 AES-256-GCM으로 암호화해 저장하고, 암호화할 때마다 새 초기화 벡터를 씁니다.
- 암호문은 워크스페이스·연결 정보·플랫폼·연결 세대에 묶여 있어 다른 워크스페이스나 다른 연결로 옮기면 복호화되지 않습니다.
- 암호화 키에는 버전을 붙입니다. 새 키로 암호화하고 저장할 때 쓴 버전의 키로 복호화하므로 서비스를 멈추지 않고 키를 바꿀 수 있습니다.
- 채널 토큰, 결제 수단, 소개 페이지 손님 정보처럼 데이터 종류마다 서로 다른 키를 씁니다.
계정 보안
- 비밀번호는 Argon2id(메모리 64MiB, 반복 3회)로 해시해 저장하며 원문은 보관하지 않습니다.
- 이메일로 가입할 때는 메일로 받은 인증 링크를 열어야 계정이 만들어지며, 링크는 30분 동안 유효합니다.
- 한 계정은 기기 5대까지 동시에 로그인할 수 있습니다. 한도를 넘어 로그인하면 가장 오래 쓰지 않은 기기가 자동으로 로그아웃됩니다.
- 로그인 상태는 최대 30일 유지되고, 7일 동안 쓰지 않으면 끝납니다.
- 계정 삭제, 이메일 변경, 소셜 로그인 연결 해제, 다른 기기 로그아웃 같은 계정 작업과 채널 연결, 결제 수단 등록, 요금제 변경·해지, 워크스페이스 삭제, 손님 목록 내려받기, 소식 메일 보내기는 최근 15분 안에 다시 인증해야 합니다.
- 설정의 보안 메뉴에서 로그인한 기기를 확인하고, 기기마다 또는 다른 기기 전체를 로그아웃할 수 있습니다.
- 새 기기에서 로그인하거나 비밀번호·이메일을 바꾸거나 비밀번호 로그인을 등록하면 이메일로 알립니다.
- 로그인, 로그아웃, 비밀번호·이메일 변경, 소셜 계정 연결과 해제, 계정 삭제 같은 보안 활동을 기록합니다. 기록에 남는 이용자 식별값, 접속 IP 앞부분, 브라우저 정보는 원문 대신 해시값으로 저장합니다.
- 세션 쿠키와 기기 쿠키는 HttpOnly, SameSite=Lax, Secure 속성으로 발급합니다.
사진과 영상
- 파일은 10분 동안 유효한 서명된 업로드 주소로 저장소에 바로 올라가고, 모여 API 서버를 거치지 않습니다.
- 올린 파일은 크기와 SHA-256 값을 대조하고 실제로 열어 형식을 확인합니다. 이미지는 해상도를, 영상은 길이·해상도·코덱을 확인하며, 검사를 통과하지 못한 파일은 쓸 수 없습니다.
- 게시물에는 JPEG·PNG·WebP 이미지와 MP4·MOV 영상을 쓸 수 있고, 소개 페이지 파일 블록은 PDF도 받습니다.
- 이미지는 화면용과 게시용으로 새로 인코딩하면서 방향을 바로잡고 촬영 정보(EXIF·GPS)는 옮기지 않으며, 플랫폼에는 게시용 이미지만 보냅니다. 원본 파일은 공개되지 않는 저장소에 아래 보관 기간 동안 둡니다.
- 영상은 변환하지 않고 올린 파일 그대로 게시하므로 영상 파일에 담긴 위치 정보는 지우지 않습니다.
- 올린 사진과 영상은 게시물에 붙어 있거나 예약·워크스페이스·프로필·소개 페이지에 쓰이는 동안 보관합니다. 어디에도 쓰이지 않는 파일은 7일 뒤, 검사에 실패한 파일은 1일 뒤 삭제합니다. 게시가 끝난 파일의 원본은 마지막 게시가 끝난 날부터 요금제 보관 기간 동안 보관한 뒤 삭제하고, 미리보기는 게시 기록이 남아 있는 동안 유지합니다.
- 채널 연결을 해제하면 그 채널의 예약·게시에 쓰던 파일의 사용 표시를 풀고, 이후에는 위 보관 기준을 따릅니다. 워크스페이스나 계정을 삭제하면 그 파일도 삭제합니다.
데이터 삭제
- 채널 연결을 해제하면 그 채널의 예약을 취소하고, 저장한 연결 정보와 그 채널의 예약·게시 기록, 가져온 게시물 목록·댓글·성과, 자동 응답과 그 기록, 그 채널 데이터로 만든 AI 제안을 삭제합니다.
- 연결 정보를 폐기할 때 YouTube는 Google에 토큰 폐기를 요청하고, Instagram·Threads는 모여에 저장한 토큰을 지웁니다.
- 연결을 해제해도 모여에서 쓴 글과 사진·영상은 남습니다. 그 채널에만 예약했거나 게시하지 못한 게시물은 임시 저장으로, 그 채널에만 게시한 게시물은 보관됨으로 옮기고, 다른 채널에도 쓴 게시물은 그대로 둡니다. 플랫폼에 이미 올린 게시물은 지우지 않습니다.
- 계정 삭제를 접수하면 바로 모든 기기에서 로그아웃하고 단계별로 삭제합니다. 따로 유예 기간을 두지 않습니다.
- Instagram·Threads에서 오는 데이터 삭제 요청을 처리하고, 진행 상태를 확인할 수 있는 코드를 드립니다.
- 요금제 기록 기간이 지난 댓글과 성과 데이터는 매일 자동으로 삭제합니다.
- 소개 페이지를 지우면 그 페이지의 신청, 방명록, 소식 메일 기록, 신고, 방문 집계를 바로 삭제합니다.
- 삭제를 요청하는 방법과 삭제 기한은 데이터 삭제 안내에 있습니다.
모여에 침해사고가 발생해 이용자에게 영향이 있으면 지체 없이 이메일과 서비스 공지로 알립니다.
서비스 보호
- 서버와 데이터베이스는 Amazon Web Services 서울 리전에서 운영하며, 데이터베이스와 서버 디스크는 암호화해 저장합니다.
- 서버는 외부에서 직접 접속할 수 없고 Cloudflare를 거친 요청만 받습니다. 데이터베이스는 인터넷에 열려 있지 않고 모여 서버에서만 접속합니다.
- 과도한 요청은 자동으로 제한합니다. 기본은 1분에 1,200회이며, 로그인·가입·비밀번호 재설정 같은 인증 요청에는 더 엄격한 제한을 따로 둡니다.
- 허용한 출처에서 온 요청만 받고 표준 보안 헤더를 적용합니다.
- 데이터를 바꾸는 요청은 허용한 출처에서 보냈는지, 다른 사이트에서 보낸 요청이 아닌지 확인하고 쿠키를 SameSite로 발급해 교차 사이트 요청 위조를 막습니다.
- 게시처럼 두 번 실행되면 안 되는 요청은 멱등성 키로 중복 처리를 막습니다.
소개 페이지 공개 양식
- 예약 신청·문의·소식 받기·방명록 양식은 Cloudflare Turnstile로 사람이 보낸 것인지 확인합니다. 확인 서버에 닿지 못하면 아래 횟수 제한으로 막습니다.
- 같은 IP에서 같은 소개 페이지로 보내는 신청·방명록·신고·수신 거부·파일 받기는 1분에 5번, 방문 기록은 1분에 60번까지 받습니다. 신청은 페이지마다 하루 100건과 요금제의 한 달 한도가, 방명록은 페이지마다 하루 30개 한도가 따로 있습니다.
- 손님 IP는 Cloudflare에서 봇 확인과 횟수 제한에만 쓰고 모여 서버로 보내거나 저장하지 않습니다. 방문 통계도 날짜·시간대별 집계로만 저장하며 방문자 식별자와 IP를 저장하지 않습니다.
- 손님의 이름·연락처·신청 내용은 신청마다 묶은 AES-256-GCM 암호문으로 저장합니다. 같은 이메일로 소식 받기를 다시 신청했는지는 되돌릴 수 없는 HMAC 요약값으로 확인합니다.
- 손님 목록 내려받기는 최근 15분 안에 다시 인증해야 하며, 내려받은 사람과 행 수를 기록합니다.
- 방명록 글은 소개 페이지를 만든 회원이 승인하기 전에는 공개되지 않습니다.
- 소식 메일의 수신 거부 링크는 받는 사람마다 서명한 값이라 위조할 수 없고, 메일 프로그램의 원클릭 수신 거부도 지원합니다.
- 공개 페이지는 콘텐츠 보안 정책(CSP)으로 스크립트 출처를 제한하며, 회원이 연결한 방문 분석 도구의 출처는 그 페이지에서만 허용합니다.
개인정보와 분석
- 모여 화면의 방문 경로와 기능 이용 통계는 Google Analytics로 기본으로 수집합니다. 주소에 든 워크스페이스 ID 같은 값은 가려서 보내고, 로그인한 경우 계정 ID 대신 복원할 수 없게 바꾼 가명 분석 번호를 보내며, 이메일·게시물 내용은 보내지 않고, 광고 개인화 신호는 끕니다. 결제 완료·채널 연결·게시 완료는 서버가 확인한 뒤 Google Analytics로 보냅니다. 전에 저장한 분석 거부 선택과 브라우저의 차단 설정을 따릅니다. 수집 항목과 제한 방법은 개인정보 처리방침에 있습니다.
- 오류 리포트에는 원인을 찾는 데 필요한 내부 사용자·워크스페이스 식별자와 화면 경로만 담고, 주소의 질의 문자열, 쿠키, 요청 헤더, 이메일·이름, 요청·응답 본문은 빼고 보내며 화면 녹화는 쓰지 않습니다.
- 서버 로그는 정해 둔 항목만 기록하며 비밀번호, 토큰, 쿠키, 이메일 원문을 남기지 않습니다.
- 문의 본문과 함께 보낸 화면 경로·브라우저 정보는 모여의 데이터베이스에 저장합니다. 답변에 필요한 이메일 주소와 표시 이름은 문의 기록에 남기지 않고, 로그인 계정에서 읽어 운영자 메일을 보낼 때까지만 암호화해 두었다가 보낸 뒤 지웁니다.
- 운영팀은 최고 관리자가 허용한 채널의 성과·게시물만 허용한 기간(기본 7일, 최대 30일) 동안 볼 수 있습니다. 허용은 보안 설정에서 언제든 철회할 수 있고, 운영팀이 볼 때마다 기록을 남깁니다.
- 운영자에게 보내는 알림 메일에는 비밀번호, 인증 토큰, 카드 번호를 담지 않으며, 장애 알림 메일에는 개인정보를 담지 않습니다.
취약점 제보
모여의 보안 문제를 발견하면 support@moyeo.io로 알려 주세요.
개정 이력
| 시행일 | 변경 내용 |
|---|---|
| 2026-10-19 (현재 버전) | 분석(로그인한 경우의 가명 분석 번호, 서버가 보내는 결제·채널 연결·게시 완료 결과)과 오류 리포트(내부 식별자·화면 경로)로 보내는 정보를 실제 동작에 맞게 바로잡음 |
| 2026-10-15 | 어색한 표현을 쉬운 말로 고침(내용 변경 없음) |
| 2026-10-13 | 소개 페이지 공개 양식 보호(봇 확인·요청 횟수 제한·IP 비저장), 손님 정보 암호화와 손님 목록 내려받기 재인증, 소개 페이지 삭제 시 처리 안내 추가. 채널 권한 요청 방식, 사진·영상의 촬영 정보 처리, 다시 인증하는 작업, 문의 정보 처리를 실제 동작에 맞게 바로잡고 보안 알림 메일, 운영팀 열람, 서버 운영 위치 안내 추가 |
| 2026-09-29 | 채널 연결 해제 시 파일과 데이터 처리 범위 명확화, 안내 용어를 화면과 같게 맞춤 |
| 2026-09-26 | 방문 통계 기본 설정과 수집 제한 방법, 전송 정보 안내 정비 |
| 2026-09-23 | 최초 시행 |
