소셜 미디어 추첨 도구

명단을 붙여넣거나 YouTube, Facebook Page, Instagram, Threads의 승인된 반응을 가져와 재현 가능한 seed로 추첨합니다.

수동 명단, 원문 OAuth code/token, 가져온 명단 스냅샷은 브라우저 임시 상태로만 둡니다. provider 호출 시 아래 필드를 GoGo 백엔드로 보내지만 원문 code, token, 가져오기 스냅샷은 영구 저장하지 않고 아래의 가명 식별 OAuth metadata만 별도로 저장합니다.

모든 request에 locale을 포함합니다. YouTube: videoUrlOrId, maxComments, 선택 keyword, locale. Facebook: auth URL의 locale, Pages의 authCode·locale, 게시물의 pageId·postUrlOrId·accessToken·includeReactions·locale. Instagram: auth URL의 locale, 승인 정보의 authCode 또는 accessToken·locale, 댓글의 mediaId·accessToken·maxComments·locale. Threads: auth URL의 locale, profile의 authCode 또는 accessToken·locale, 답글의 mediaId·accessToken·maxReplies·locale. 원문 code/token과 가져오기 스냅샷은 브라우저 임시 상태이며 백엔드는 영구 저장하지 않습니다. 아래 OAuth metadata는 별도로 저장합니다.

OAuth 시작 시 백엔드는 가명 식별 HMAC nonce digest 문서 키, provider, createdAt, expiresAt을 별도로 저장하며 원문 code, token, state, nonce는 저장하지 않습니다. 기록은 10분 뒤 사용할 수 없고 Firestore TTL 비동기 삭제 대상이 되지만 정확히 10분에 물리 삭제된다고 보장하지 않습니다.

  • 요청당 1~500개를 가져옵니다.
  • 경품별 당첨자와 예비는 각각 0~100명이며 합계가 유효 참여자 수를 넘을 수 없습니다.
  • Seed는 1~128자여야 합니다.
  • 경품 이름은 최대 100자입니다.
주요 경품
유효 참여자 3중복 0제외 0

사용 방법

수동 명단은 브라우저에서 처리하고 가져올 수 있는 YouTube 댓글 또는 승인된 Facebook Page, Instagram, Threads 계정이 접근할 수 있는 반응을 불러옵니다.

인스타그램, 유튜브, 블로그 이벤트 당첨자 선정 시 가장 안전하고 공정한 암호학적 무작위 추첨기입니다. 도배성 중복 댓글을 걸러내고 조작 없는 투명한 추첨을 지원합니다.

💡 3단계 초간단 사용 가이드

① 응모자 명단 입력

참여자 이름이나 닉네임을 한 줄에 하나씩 붙여넣습니다.

② 당첨 인원 및 중복 제거 설정

뽑을 당첨자 수(예: 3명)를 설정하고 중복 참여 제거 여부를 선택합니다.

③ 공정 추첨 진행

추첨 버튼을 눌러 하드웨어 난수 기반의 100% 공정한 당첨자를 발표합니다.

활용 상황

수동 명단과 플랫폼별 가져오기 결과를 분리하고 중복 제거, 제외, 시드값, 당첨·예비, CSV를 지원합니다.

계산 또는 처리 방식

수동 입력은 한 줄에 한 명입니다. YouTube 댓글은 백엔드가 설정된 YouTube API 키로 가져오고 Facebook Page, Instagram, Threads는 승인된 계정이 접근할 수 있는 콘텐츠를 사용합니다. 현재 탭의 최신 성공 스냅샷만 시드값 순서로 추첨합니다.

구체적인 예시

예: YouTube 댓글을 최대 500개 가져오고 당첨 1명, 예비 1명, 128자 이하 시드값을 설정한 뒤 CSV를 받습니다.

제한 및 데이터 처리

YouTube 댓글은 백엔드가 설정된 YouTube API 키로 가져오고 Facebook Page, Instagram, Threads는 승인된 계정이 접근할 수 있는 콘텐츠만 지원합니다. 미설정, 미승인, 시간 초과, 잘못된 응답은 안전한 현지화 오류로 표시하고 제공자의 원문은 노출하지 않으며 임의 공개 게시물 가져오기도 보장하지 않습니다. 플랫폼 가져오기 브라우저 요청은 최대 20초 동안 기다립니다. 백엔드는 동일 출처에서 60초 동안 소셜 가져오기 또는 승인 요청을 최대 12회 허용합니다. 성공한 가져오기 명단은 백엔드에 캐시하지 않고 현재 브라우저에 최신 성공 스냅샷만 임시로 두며 실패하면 새 스냅샷을 만들지 않습니다.

모든 request에 locale을 포함합니다. YouTube 댓글 가져오기는 videoUrlOrId, maxComments, 선택 keyword, locale을 보냅니다. Facebook auth URL은 locale, Page 불러오기는 authCode와 locale, 게시물 가져오기는 pageId, postUrlOrId, accessToken, includeReactions, locale을 보냅니다. Instagram auth URL은 locale, 승인 정보 불러오기는 authCode 또는 accessToken과 locale, 댓글 가져오기는 mediaId, accessToken, maxComments, locale을 보냅니다. Threads auth URL은 locale, profile 불러오기는 authCode 또는 accessToken과 locale, 답글 가져오기는 mediaId, accessToken, maxReplies, locale을 보냅니다. 수동 명단은 보내지 않습니다. 백엔드는 가명 식별 HMAC nonce digest 문서 키, provider, createdAt, expiresAt을 별도로 저장하며 원문 code, token, state, nonce는 저장하지 않습니다. 기록은 10분 뒤 사용할 수 없고 Firestore TTL 비동기 삭제 대상이 되지만 정확히 10분에 물리 삭제된다고 보장하지 않습니다.

암호학적 난수 생성, 추첨 알고리즘 공정성 검증 및 소셜 이벤트 가이드

1. 암호학적 난수(CSPRNG)와 피셔-예이츠 셔플 알고리즘

모든 참가자에게 수학적으로 완벽히 동일한 1/N 당첨 확률을 보장하기 위해 브라우저 보안 암호화 API와 비편향 무작위 셔플 알고리즘을 적용합니다.

2. 중복 참여자 필터링 및 어뷰징 방지

동일인의 도배 댓글 중복 제거, 필수 키워드 입력 여부 검증 및 다중 추첨 가중치 설정을 지원합니다.

3. 공정한 추첨 과정 녹화 및 신뢰성 확보

추첨 화면 녹화 및 해시 검증값을 통해 투명하고 공정한 이벤트 당첨자 선정 과정을 입증할 수 있습니다.

공식 자료 출처 및 표준 기준

  • W3C Web Cryptography 암호학적 난수 표준
  • 공정거래위원회: 경품류 제공에 관한 불공정거래행위 심사지침
  • 한국정보통신기술협회(TTA): 난수 발생기 안전성 검증 기준

자주 묻는 질문

소셜 미디어 추첨 도구: 참여자와 경품 입력 범위는 무엇인가요?

플랫폼 가져오기는 1~500개입니다. 경품별 당첨자와 예비는 각각 0~100명이며 합계가 유효 참여자 수를 넘을 수 없습니다. 시드값은 1~128자, 경품 이름은 최대 100자입니다.

소셜 미디어 추첨 도구: 수동 명단과 API 명단은 어떻게 추첨하나요?

수동 명단은 한 줄에 한 명이며 브라우저에만 남습니다. API는 현재 플랫폼 탭의 최신 성공 스냅샷만 사용하고 전환, 재가져오기, 실패 후 다른 플랫폼 명단을 재사용하지 않습니다. 원문 OAuth code/token과 가져온 명단 스냅샷은 브라우저 임시 상태로만 두며 백엔드는 영구 저장하지 않습니다.

소셜 미디어 추첨 도구: 어떤 플랫폼 콘텐츠를 가져올 수 있나요?

YouTube 댓글은 백엔드가 설정된 YouTube API 키로 가져오고 Facebook Page, Instagram, Threads는 승인된 계정이 접근할 수 있는 콘텐츠만 지원합니다. 미설정, 미승인, 시간 초과, 잘못된 응답은 안전한 현지화 오류로 표시하고 제공자의 원문은 노출하지 않으며 임의 공개 게시물 가져오기도 보장하지 않습니다. 플랫폼 가져오기 브라우저 요청은 최대 20초 동안 기다립니다. 백엔드는 동일 출처에서 60초 동안 소셜 가져오기 또는 승인 요청을 최대 12회 허용합니다. 성공한 가져오기 명단은 백엔드에 캐시하지 않고 현재 브라우저에 최신 성공 스냅샷만 임시로 두며 실패하면 새 스냅샷을 만들지 않습니다.

소셜 미디어 추첨 도구: 각 API request는 무엇을 전송하나요?

모든 request에 locale을 포함합니다. YouTube 댓글 가져오기는 videoUrlOrId, maxComments, 선택 keyword, locale을 보냅니다. Facebook auth URL은 locale, Page 불러오기는 authCode와 locale, 게시물 가져오기는 pageId, postUrlOrId, accessToken, includeReactions, locale을 보냅니다. Instagram auth URL은 locale, 승인 정보 불러오기는 authCode 또는 accessToken과 locale, 댓글 가져오기는 mediaId, accessToken, maxComments, locale을 보냅니다. Threads auth URL은 locale, profile 불러오기는 authCode 또는 accessToken과 locale, 답글 가져오기는 mediaId, accessToken, maxReplies, locale을 보냅니다. 수동 명단은 보내지 않습니다. 백엔드는 가명 식별 HMAC nonce digest 문서 키, provider, createdAt, expiresAt을 별도로 저장하며 원문 code, token, state, nonce는 저장하지 않습니다. 기록은 10분 뒤 사용할 수 없고 Firestore TTL 비동기 삭제 대상이 되지만 정확히 10분에 물리 삭제된다고 보장하지 않습니다.