LINK 홈으로
DATA HANDLING

데이터 처리 안내

LINK가 Discord 활동 데이터와 외부 게임 API 응답을 실제 기능에서 어떻게 다루는지 설명합니다.

시행일 2026년 8월 20일 · 최종 수정 2026년 8월 20일

데이터 처리 원칙

LINK는 기능 제공에 필요한 데이터를 가능한 한 식별자·횟수·시간·상태 값 중심으로 처리하고, 원문 콘텐츠를 장기 보관하는 방식은 최소화합니다. 같은 통계를 반복해서 외부 API에 요청하지 않도록 집계와 짧은 메모리 캐시를 사용합니다.

수집·조회된 데이터는 서버 통계, 레벨링, 역할 보상, 업적, 입퇴장·초대 추적, 게임 프로필 카드와 관리자 대시보드 제공을 위한 범위에서 사용합니다.

Discord Gateway Intent와 이벤트 처리

LINK는 Discord Gateway 연결에서 기능별로 필요한 이벤트만 구독합니다. 이 가운데 GUILD_MEMBERS와 GUILD_PRESENCES는 Discord가 Privileged Intent로 분류하며, 현재 LINK의 멤버·상태·활동 통계 기능에 사용됩니다. MESSAGE_CONTENT는 현재 봇 구성에서 요청하지 않습니다.

Privileged Intent는 단순히 데이터를 더 많이 받기 위한 권한이 아니라 각 기능에 필요한 이벤트와 필드에 한해 사용합니다. 서버 규모가 Discord의 검증·승인 대상에 해당하는 경우에는 Developer Portal에서 승인된 Intent만 활성화합니다.

Gateway 이벤트와 LINK 처리 과정
Intent대표 이벤트·데이터LINK 처리저장 여부현재 상태
GUILD_MEMBERSGUILD_MEMBER_ADD / UPDATE / REMOVE, 멤버 목록 요청입퇴장 감지, 사용자 프로필 갱신, 멤버 분석, 역할 보상, 퇴장 사용자 스냅샷 연결사용자 ID와 통계에 필요한 프로필·시각 메타데이터를 목적 범위에서 저장사용 중
GUILD_PRESENCESPRESENCE_UPDATE의 status, activities 등온라인·자리비움·방해금지 집계, 게임·애플리케이션 활동 세션 계산상태 집계와 활동 세션에 필요한 값만 저장사용 중
MESSAGE_CONTENT메시지의 content, embeds, attachments, components 등 본문 관련 필드현재 일반 서버 메시지 통계 처리에 사용하지 않음. 향후 핵심 기능에 필수적인 경우 승인 후 별도 처리현재 본문 장기 저장 없음. 향후 사용하더라도 기능 판정에 필요한 최소 처리 원칙 적용현재 미사용

메시지 데이터

메시지가 생성되면 LINK는 서버 ID, 사용자 ID, 채널 ID, 발생 시각을 기준으로 메시지 횟수와 레벨 경험치를 집계할 수 있습니다. 메시지 본문은 일반 통계 테이블에 저장하지 않습니다.

현재 LINK는 MESSAGE_CONTENT Privileged Intent를 요청하지 않으므로 일반 서버 메시지 본문을 상시 처리하지 않습니다. 향후 메시지 본문이 반드시 필요한 채팅 업적이나 기능을 제공하고 Discord 승인을 받은 경우에는 해당 이벤트 처리 중 필요한 범위에서만 본문을 확인하며, 판정 결과와 달리 메시지 원문 자체는 업적 기록으로 장기 저장하지 않는 것을 원칙으로 합니다.

음성 채널 데이터

음성 활동은 사용자 ID, 채널 ID, 입장·이동·퇴장 시각, 총 이용 시간과 종료 사유 등을 세션 형태로 기록합니다. 이를 이용해 음성 통계와 음성 레벨링을 계산합니다.

LINK는 음성 스트림을 녹음하거나 대화 내용을 음성 파일·텍스트로 저장하지 않습니다. 사용자가 모두 퇴장해 자동 삭제되는 임시 음성 채널도 과거 통계에서 이름을 표시할 수 있도록 마지막 채널명·유형·삭제 시각을 스냅샷으로 남길 수 있습니다.

멤버·채널 메타데이터 스냅샷

현재 서버에 존재하는 사용자와 채널뿐 아니라 서버를 나간 사용자·삭제된 채널의 과거 통계를 이해할 수 있도록 최소 메타데이터를 별도 스냅샷으로 관리합니다.

  • 멤버: 사용자 ID, 표시명, 사용자명, 프로필 이미지 URL, 가입·퇴장 시각, 마지막 관측·활동 시각, 활성 여부
  • 채널: 채널 ID, 마지막 이름, 채널 유형, 상위 채널 ID, 삭제 시각, 마지막 관측 시각, 활성 여부
  • 용도: 과거 랭킹·멤버 분석·채널 분석에서 '알 수 없는 사용자/채널' 표시를 줄이고 활동 당시의 맥락을 유지

상태·게임·애플리케이션 활동

상태 통계가 활성화된 서버에서는 시간대별 온라인·자리비움·방해금지 등의 인원 집계를 저장할 수 있습니다. 사용자별 게임·애플리케이션 활동은 활동 이름, 활동 유형, application ID, 시작·마지막 관측·종료 시각과 총 이용 시간을 기록할 수 있습니다.

LINK는 화면 캡처, 키 입력, 실행 파일 내용 또는 Discord가 제공하지 않는 로컬 PC 정보를 수집하지 않습니다.

입퇴장·초대 추적

서버가 입퇴장 또는 초대 추적 기능을 사용하는 경우 가입·퇴장 시각, 계정 생성일, 가입 당시 멤버 수, 초대 코드, 초대한 사용자 ID·표시명, 초대 사용 횟수 등을 기록할 수 있습니다.

초대 추적을 사용하지 않는 서버에서는 해당 기능 제공을 위한 추가적인 초대 경로 판정을 수행하지 않는 것을 원칙으로 합니다.

레벨·역할 보상·업적 데이터

레벨링은 메시지·음성 활동을 기준으로 경험치, 레벨, 마지막 경험치 획득 시각 등을 관리합니다. 역할 보상을 사용하는 경우 지급·회수한 역할 ID와 확인 시각이 기록될 수 있습니다.

업적은 사용자 ID, 업적 ID, 진행에 사용된 수치, 획득 시각과 대표 업적 선택을 저장합니다. 히든 업적의 조건은 획득 전 사용자 화면에서 공개하지 않을 수 있습니다.

웹 대시보드와 Discord OAuth

웹 대시보드는 Discord OAuth의 identify와 guilds 범위를 사용하여 로그인한 사용자를 식별하고 관리 가능한 서버를 확인합니다. 비밀번호를 LINK에 전달받거나 저장하지 않습니다.

인증 세션은 최대 7일로 설정되어 있으며, Discord access token이 만료되는 경우 세션을 유지하기 위해 refresh token을 사용할 수 있습니다. OAuth 토큰과 API secret은 다른 이용자에게 노출되지 않도록 서버 측에서 처리합니다.

게임 프로필 조회와 캐시

현재 게임 프로필 구현은 Roblox, MapleStory, PUBG, Lost Ark와 Riot Games 계열 기능 등에서 사용자가 입력한 식별자를 외부 API 조회에 사용합니다. 개인 프로필 응답은 일반적으로 약 5분간 메모리 캐시에 유지되며, VALORANT와 같은 일부 경기 상세 응답은 중복 API 호출을 줄이기 위해 약 10분간 캐시될 수 있습니다.

이 캐시는 봇 프로세스 메모리에 존재하는 임시 데이터이며 만료되면 다시 조회합니다. 게임 API 조회 결과를 원본 형태로 대량 축적하거나 외부에 데이터 중계 서비스로 판매하지 않습니다.

Riot Games 데이터 처리 기준

Riot Games 기능은 공식 API와 Riot Developer Portal 정책을 우선합니다. VALORANT 플레이어별 데이터는 Production 승인 및 RSO 연동을 완료한 뒤 본인이 직접 연결하고 공유를 선택한 계정만 처리·표시하는 구조를 기준으로 합니다.

Riot API 키는 서버 측 환경변수로 관리하며 브라우저, Discord 카드, 공개 저장소 또는 클라이언트 번들에 포함하지 않습니다. Riot 정책상 허용되지 않는 실시간 경쟁 우위, 비공개 플레이어 추적, 자체 MMR/ELO 산출 또는 데이터 브로커 기능은 제공하지 않습니다.

보존·삭제와 비활성 서버

Discord 상태 인원 시간대별 스냅샷은 현재 구현상 약 70일이 지나면 자동 정리됩니다. 게임 API 메모리 캐시는 수 분 단위로 자동 만료됩니다.

그 밖의 서버 통계, 레벨, 업적, 설정, 멤버·채널 스냅샷은 서버 통계의 연속성과 기능 제공을 위해 보관될 수 있습니다. 서버에서 LINK가 제거되면 서버 레코드를 비활성 상태로 전환하며, 서버 소유자 또는 권한이 확인된 관리자는 관련 데이터 삭제를 요청할 수 있습니다.

외부 전송과 임베드

게임 프로필 조회를 요청하면 입력한 게임 식별자가 해당 게임의 공식 또는 허용된 API로 전송될 수 있습니다. 공개 웹의 데스크톱 환경에서는 일부 페이지에 WidgetBot 기반 Discord 서버 위젯이 표시되어 브라우저가 WidgetBot 서비스와 직접 통신할 수 있습니다.

외부 서비스는 각자의 개인정보처리방침·쿠키 정책·이용약관에 따라 별도의 데이터를 처리할 수 있으며, LINK는 필요하지 않은 외부 추적 기능을 의도적으로 추가하지 않는 것을 원칙으로 합니다.

보안과 접근 통제

서버 설정 API는 Discord OAuth 세션과 서버 관리자 권한을 확인한 뒤 처리하고, 외부 API key·Discord client secret 등 인증 비밀정보는 서버 측 환경변수로 관리합니다. 데이터베이스와 운영 서버는 서비스 운영에 필요한 계정만 접근할 수 있도록 제한하는 것을 원칙으로 합니다.

데이터 관련 요청

본인 정보 또는 자신이 관리하는 서버의 LINK 데이터에 대한 열람·정정·삭제·처리정지 요청은 LINK 서포트 서버를 통해 접수할 수 있습니다. 다른 이용자의 권리와 서버 구성원의 기록이 함께 포함된 경우 본인·관리 권한 확인 후 가능한 범위에서 처리합니다.