소싸움(Bull Push) 개인정보처리방침
시행일: 2026년 9월 23일 · 개정일: 2026년 10월 7일 · v1.2 · English version
소싸움은 만화풍 황소를 조이스틱으로 움직여 서로 밀어내는 90초 대결 게임이며, 계정과 로그인이 없습니다. 앱은 기기 안에 임의 식별자·털 색·선택한 닉네임만 저장하고, 실시간 광장에서는 닉네임(또는 색 이름)·색·점수와 게임 조작 신호만 서버를 거쳐 같은 방 참가자와 순위 화면에 전달합니다. 이름·연락처·실제 위치·사진·마이크는 다루지 않습니다. 홈 화면 하단에 Google AdMob 배너 광고 한 장을 보이며(5항), 분석 도구는 넣지 않았습니다.
앱 1.1.0 부터 화면은 한국어와 영어 두 가지이며 기기 언어 설정을 따릅니다. 영어 화면의 앱 이름은 Bull Push 입니다. 언어와 상관없이 다루는 정보는 같습니다. 영어 방침 전문은 이 페이지 아래에 있습니다.
1. 수집·이용하는 정보와 목적
소싸움은 이름·이메일·전화번호 같은 직접적인 개인 식별 정보를 받지 않습니다. 앱을 쓰는 동안 다루는 정보는 아래와 같습니다. 「저장 위치」의 기기는 사용자의 휴대전화를, 서버는 실시간 중계(Supabase Realtime) 또는 slox.co.kr 의 판 결과 저장소를 뜻합니다.
임의 식별자 (기기 저장 키 sossaum-id)
- 내용
- 「ox-」 뒤에 임의 문자 16자와 생성 시각을 붙인 문자열입니다. 앱을 처음 실행할 때 만들며 계정이 아닙니다. 운영체제 광고 ID 나 기기 고유번호가 아닙니다.
- 목적
- 같은 방 안에서 내 황소를 구분하고, 실시간 광장에서 판을 진행하는 기기(호스트)를 정하는 데 씁니다.
- 저장 위치
- 기기. 실시간 광장에 들어가 있는 동안에는 참가자 명단과 조작 신호에 실려 같은 방 참가자에게 전달됩니다. 판 결과 저장소에는 넣지 않습니다.
- 보유 기간
- 앱을 삭제할 때까지. 재설치하면 새 값이 만들어집니다. 방을 나가면 서버 명단에서 빠집니다.
털 색 (기기 저장 키 sossaum-color)
- 내용
- 12가지 색 가운데 하나를 가리키는 번호(0~11)입니다. 홈 화면에서 바꿀 수 있습니다.
- 목적
- 내 황소를 그리고, 닉네임이 없을 때 「버터색 황소」 같은 색 이름을 만듭니다.
- 저장 위치
- 기기. 실시간 광장에서는 참가자 명단에 실리고, 판 결과에도 함께 저장됩니다.
- 보유 기간
- 기기에서는 앱을 삭제할 때까지. 판 결과에 담긴 값은 아래 3항과 같습니다.
닉네임 (선택, 기기 저장 키 sossaum-nickname)
- 내용
- 사용자가 홈 화면에서 직접 넣는 2~20자 이름입니다. 줄바꿈과 제어 문자는 쓸 수 없고, 흔한 한국어 · 영어 욕설이나 혐오 표현이 든 이름은 저장되지 않습니다(기기 안 기본 거름망). 넣지 않으면 색 이름 황소로 참가합니다.
- 목적
- 같은 방 참가자에게 보이는 이름표, 판 결과 저장, 오늘·이번 주 순위 집계. 닉네임을 정한 황소만 순위에 오릅니다.
- 저장 위치
- 기기. 실시간 광장에서 판이 끝나면 slox.co.kr 판 결과 저장소에도 저장됩니다.
- 보유 기간
- 기기에서는 사용자가 비우거나 앱을 삭제할 때까지. 서버에 저장된 판 결과는 아래 3항과 같습니다.
- 공개 범위
- 같은 방 참가자(웹 slox.co.kr 참가자 포함)의 이름표와, 누구나 볼 수 있는 순위 화면(앱과 웹)에 표시됩니다. 실명이나 연락처를 닉네임으로 쓰지 않도록 주의해 주십시오.
게임 조작과 상태 신호 (실시간 광장에서만)
- 내용
- 이동 방향·밀기 입력(식별자, 순번, 상하좌우, 밀기, 시각), 진행 기기가 만드는 방 전체 상태(모든 황소의 링 안 좌표·속도·점수), 진행 기기 교대 신호, 판 시작·종료 신호. 여기서 좌표는 게임 링 안의 위치이며 기기의 실제 위치가 아닙니다.
- 목적
- 같은 방 참가자와 대결을 실시간으로 맞추기 위해 씁니다.
- 저장 위치
- 저장하지 않습니다. Supabase Realtime 을 거쳐 같은 방 참가자에게 전달되며 데이터베이스에 남기지 않습니다.
- 보유 기간
- 방을 나가면 끝납니다.
참가자 명단 정보 (실시간 광장에서만)
- 내용
- 임의 식별자, 이름(닉네임 또는 색 이름), 색, 들어온 시각, 역할(참가 또는 구경), 방 번호, 잠시 자리 비움 표시. 홈 화면에서 광장의 사람 수를 세기 위해서도 구경 역할로 로비에 들어가며, 이때 이름은 빈 값입니다.
- 목적
- 방 배정, 사람 수 표시, 진행 기기 정하기.
- 저장 위치
- Supabase Realtime 명단에만 있고 데이터베이스에 저장하지 않습니다.
- 보유 기간
- 방이나 홈 화면을 나가면 명단에서 지워집니다.
판 결과 (실시간 광장에서만)
- 내용
- 방 이름(room-N), 판 번호, 끝난 시각, 전송 방식, 참가 인원, 참가자별 이름·색·점수(밀어낸 수). 연습 광장의 판은 보내지 않습니다. 색 이름은 웹과 맞추려고 화면 언어와 상관없이 한국어 원문(예: 버터색 황소)으로 보내며, 영어 화면은 같은 황소를 Butter Bull 처럼 영어로 보여 줍니다.
- 목적
- 오늘·이번 주 순위 집계, 같은 판의 중복 보고 방지.
- 저장 위치
- slox.co.kr 판 결과 저장소(Supabase 데이터베이스).
- 보유 기간
- 아래 3항과 같습니다.
닉네임 거름망은 앱 1.1.0 부터 기기 안에서만 기본 단어 목록으로 돕니다. 서버로 새로 보내는 정보가 없고, 서버에 저장되는 내용도 바꾸지 않습니다. 예전에 저장한 닉네임이 거름망에 걸리면 앱이 그 닉네임을 더 쓰지 않고 색 이름 황소로 참가합니다. 다른 참가자의 이름(예: 웹에서 정한 이름)이 걸리면 내 화면에서는 그 황소의 색 이름으로 보입니다. 흔한 경우를 막는 기본 거름망이라 모든 표현을 걸러 내지는 못합니다.
2. 권한
- Android 앱은 인터넷 권한(INTERNET)을 선언하고, Google 광고 SDK 가 빌드 때 ACCESS_NETWORK_STATE · AD_ID 권한을 함께 넣습니다. 인터넷은 실시간 광장 접속, 판 결과 보고, 순위 조회, 홈 화면의 배너 광고에 씁니다. 이 권한들은 설치할 때 자동으로 부여되며 별도의 동의 화면이 없습니다. 인터넷이 없으면 연습 광장만 열리고, 연습 광장은 기기 안에서만 돌아 네트워크가 필요하지 않습니다.
- iOS 앱은 사용자에게 따로 요청하는 권한이 없습니다.
- 마이크·카메라·위치·연락처·사진·알림·저장공간 권한은 어느 플랫폼에서도 요청하지 않습니다. 이 방침에서 「위치」나 「좌표」는 게임 링 안의 위치를 뜻하며, 기기의 실제 위치(GPS)는 읽지 않습니다.
3. 서버 전송과 보관
연습 광장에서는 1항의 게임 정보가 기기 밖으로 나가지 않습니다(홈 화면 광고 SDK 의 통신은 5항에 따로 적었습니다). 실시간 광장은 서버 접속 정보가 들어 있는 빌드에서만 열리며, 그때 아래 통신이 일어납니다. 서버로 가는 정보 어디에도 이름(실명)·연락처·실제 위치·사진은 없습니다. 사용자가 닉네임에 직접 넣은 경우만 예외입니다.
실시간 중계 (Supabase Realtime)
로비 채널(sossaum:lobby)과 방 채널(sossaum:room-N)에 참가자 명단을 올리고 조작·상태 신호를 주고받습니다. 같은 채널에 있는 참가자(웹 slox.co.kr 참가자 포함)가 이 정보를 받습니다. 소싸움은 이 신호를 데이터베이스에 저장하지 않으며, 방을 나가면 명단에서 빠지고 채널 연결을 끊습니다.
판 결과 보고 (POST https://www.slox.co.kr/api/sossaum/round)
실시간 광장에서 그 판을 진행한 기기(호스트)만 보냅니다. 사람 참가자 가운데 한 명 이상 점수가 있을 때만 보내고, 연습 친구(봇)는 넣지 않습니다. 보내는 내용은 방 이름, 판 번호, 참가자별 이름·색·점수, 끝난 시각, 전송 방식이며 임의 식별자는 넣지 않습니다.
서버는 요청 본문 크기(4KB)와 형식, 상한(이름 20자, 1인 점수 90 이하, 끝난 시각이 서버 시각 기준 1시간 전부터 10분 후 사이)을 검사한 뒤 저장합니다. 같은 방·판 번호·끝난 시각의 보고가 두 번 오면 첫 번째만 남깁니다. 색 이름 참가자는 손님(guest) 표시를 붙여 저장하되 순위 합산에서는 뺍니다.
저장 항목은 방 이름, 판 번호, 끝난 시각, 전송 방식, 참가 인원, 닉네임 인원, 참가자별 이름·색·점수·손님 표시, 저장 시각입니다.
보유 기간: 판 결과 표에는 자동 삭제나 정리 주기가 없어, 사용자의 삭제 요청이 있거나 운영자가 지울 때까지 보관합니다. 순위 화면은 한국 시간 기준 오늘과 이번 주 범위만 집계하지만, 그 밖의 행도 표에는 남습니다.
순위 조회 (GET https://www.slox.co.kr/api/sossaum/ranking)
기간(오늘 또는 이번 주)만 보내고 개인 정보는 보내지 않습니다. 응답은 닉네임별 합계·판 수·최고 점수·마지막 판 시각 상위 20 이며, 같은 순위를 웹 slox.co.kr 에서도 누구나 볼 수 있습니다.
IP 주소
slox.co.kr 서버는 결과 보고 요청의 빈도를 제한하기 위해 요청한 IP 주소를 서버 메모리에서 잠시 확인합니다. IP 주소를 데이터베이스에 저장하지 않으며 판 결과와 연결하지 않습니다. 검사 실패나 저장 실패가 있으면 서버 오류 기록에 오류 코드와 메시지만 남습니다.
4. 처리 위탁·제3자 제공·국외 이전
서비스를 운영하기 위해 아래 사업자가 정보를 처리합니다. 그 밖의 누구에게도 개인정보를 제공하거나 판매하지 않습니다.
- Supabase: 실시간 광장의 참가자 명단·조작 신호 중계(Realtime)와 판 결과 데이터베이스 보관. Supabase 개인정보처리방침
- Vercel: slox.co.kr 웹사이트와 API 서버 운영(호스팅). 판 결과 보고와 순위 조회 요청이 이 서버를 거칩니다. Vercel 개인정보처리방침
- Google AdMob: 홈 화면의 배너 광고. Google 광고 SDK 가 5항의 정보(광고 식별자, IP 기반 대략적 위치, 광고 노출·클릭, 진단)를 수집하고 Google 서버에서 처리합니다. 닉네임·임의 식별자·경기 기록·순위는 전달하지 않습니다. Google 광고 정책
국외 이전: Supabase · Vercel · Google 은 국외에 본사를 둔 사업자이며, 자료가 처리되는 서버가 국외에 있을 수 있습니다. Supabase 와 Vercel 이 처리하는 항목은 위 1항·3항의 정보(임의 식별자, 닉네임 또는 색 이름, 색, 점수, 방 이름, 시각, 게임 조작 신호)이고, Google 이 처리하는 항목은 5항의 광고 관련 정보입니다. 어디에도 이름·연락처·실제 위치는 포함되지 않습니다.
운영체제 음성 인식, 소셜 로그인, 분석 같은 다른 제3자 SDK 는 쓰지 않습니다. 닉네임 거름망도 외부 서비스가 아니라 앱 안의 단어 목록입니다. 법원의 영장이나 법령에 따른 요구가 있으면 그 범위에서만 제공할 수 있습니다.
5. 광고
소싸움은 홈 화면 하단에 Google AdMob 배너 광고 한 장을 표시합니다. 링(경기) 화면, 결과 화면, 순위 화면에는 광고가 없고, 전면 광고나 보상형 광고도 없으며, 광장에 들어가 있는 동안에는 배너를 새로 요청하지 않습니다. Google 광고 SDK 는 광고 게재와 성과 측정을 위해 기기의 광고 식별자, IP 주소 기반의 대략적 위치(국가·지역 단위), 광고 노출·클릭 정보, 앱 성능·오류 진단 정보를 수집할 수 있습니다. 닉네임, 털 색, 임의 식별자, 경기 기록, 순위는 광고 SDK 에 전달되지 않습니다. 연습 광장만 쓰더라도 홈 화면의 광고는 인터넷이 연결되어 있을 때 표시됩니다.
- 추적하지 않습니다. iOS 에서는 앱 추적 투명성(ATT) 권한을 요청하지 않으며, 광고 식별자를 다른 회사의 앱·웹사이트 정보와 결합하는 추적에 사용하지 않습니다.
- 광고 등급. 광고는 청소년 이상 등급(T) 이하의 콘텐츠만 요청합니다.
- 동의와 선택. 유럽경제지역(EEA)·영국 이용자에게는 광고 표시 전에 동의 화면이 표시되며, 홈 화면 「어떻게 하나요」 아래의 「광고 개인정보 설정」에서 언제든 선택을 바꿀 수 있습니다. 다른 지역에서는 별도 동의가 필요하지 않아 이 버튼이 비활성으로 보입니다.
- 삭제와 문의. 광고 SDK 가 수집한 정보는 Google 이 처리하며 SLOX 는 개인 단위로 받지 않아 앱에서 지울 수 없습니다. Android 는 기기 설정의 「광고」에서 광고 ID 를 재설정하거나 삭제할 수 있습니다. Google 의 데이터 처리에 대한 자세한 내용은 Google 광고 정책을 참고하세요.
- 분석 도구는 없습니다. 사용 통계 SDK 를 넣지 않았습니다.
6. 아동의 개인정보
소싸움에는 계정과 나이 확인 절차가 없습니다. 어린이를 대상으로 만든 앱이 아니며, 만 14세 미만 아동의 개인정보를 의도적으로 수집하지 않습니다. 앱이 받는 사용자 입력은 선택 닉네임 하나입니다. 만 14세 미만 아동이 실명 등 개인정보를 닉네임으로 넣어 순위에 올라간 사실을 알게 되면 아래 이메일로 알려 주십시오. 확인 뒤 지웁니다. 해외 이용자에 대한 기준은 아래 영어 방침 6항에 적었습니다.
7. 정보주체의 권리와 삭제 방법
- 기기 안 정보: 홈 화면의 닉네임 칸을 비우고 저장하면 닉네임이 기기에서 지워지고 색 이름 황소로 돌아갑니다. 털 색은 홈 화면에서 바꿀 수 있습니다. 임의 식별자와 털 색을 따로 지우는 버튼은 없으며, 앱을 삭제하면 함께 사라집니다.
- 서버 정보: 앱 안에서 서버의 판 결과를 직접 지우는 기능은 없습니다. 닉네임으로 저장된 판 결과의 삭제를 원하시면 아래 이메일로 그 닉네임과 대략적인 날짜를 알려 주십시오. 확인 뒤 운영자가 해당 행을 지우고 답장으로 알려 드립니다. 색 이름(예: 버터색 황소)으로 참가한 판은 같은 이름을 여러 사람이 쓰기 때문에 어느 행이 요청자의 것인지 가려낼 수 없어 개별 삭제가 어렵습니다.
- 열람·정정·처리정지 요청도 같은 이메일로 받습니다. 지체 없이, 늦어도 요청을 받은 날부터 10일 안에 처리하고 결과를 알려 드립니다.
- 문의: namurobori@gmail.com
8. 안전성 확보 조치
- slox.co.kr 로 보내는 판 결과 보고와 순위 조회는 HTTPS 로 암호화합니다.
- 판 결과 표는 행 수준 보안(RLS)을 켜고 서버 전용 키(service_role)만 읽고 쓸 수 있습니다. 앱에 든 공개 키로는 표에 직접 접근할 수 없으며 실시간 채널 참가에만 씁니다.
- 서버는 결과 보고의 본문 크기·형식·상한을 검사하고 IP 기준 요청 빈도 제한을 둡니다. 순위는 서버 함수로만 집계해 돌려주며 표를 앱에 직접 노출하지 않습니다.
- 서버 접속 정보(주소·키)는 빌드할 때 넘기며 소스 저장소에 두지 않습니다.
- 닉네임과 참가자 이름은 길이(20자)와 제어 문자 규칙을 앱과 서버에서 함께 검사합니다. 흔한 욕설·혐오 표현은 앱이 기기 안 단어 목록으로 한 번 더 거릅니다.
- 기기의 임의 식별자는 판 결과에 넣지 않으며, 서버에 저장되는 판 결과에는 개인을 직접 식별할 항목이 없습니다.
9. 개인정보 보호책임자·문의
- 서비스 제공자: SLOX (소싸움 · Bull Push)
- 개인정보 보호책임자: 양석원
- 문의: namurobori@gmail.com
개인정보 관련 문의, 불만, 삭제 요청은 위 이메일로 보내 주십시오. 신분증 사진 같은 추가 개인정보는 보내지 마십시오. 저희는 받지 않습니다.
10. 고지 의무
이 방침의 내용이 바뀌면 이 페이지에 개정일과 바뀐 내용을 적어 알립니다. 이 방침은 2026년 9월 23일부터 적용됩니다.
- v1.0 (2026년 9월 23일): 최초 시행.
- v1.1 (2026년 9월 24일): 홈 화면 하단 Google AdMob 배너 광고 도입. 5항을 「광고」로 바꾸고 권한·처리 위탁·국외 이전 문장을 고쳤습니다.
- v1.2 (2026년 10월 7일): 영어 화면 도입(영어 이름 Bull Push)과 영어 방침 전문 추가. 기기 안 닉네임 거름망을 1 · 4 · 8항에 적고, 광장에 있는 동안 배너를 요청하지 않는다는 점을 5항에 적었습니다. 서버로 보내는 정보와 서버에 저장하는 정보는 바뀌지 않았습니다. 앱 1.1.0 부터 적용합니다.
Bull Push (소싸움) Privacy Policy
Effective: September 23, 2026 · Revised: October 7, 2026 · Version 1.2
Bull Push is a 90-second game in which you steer a cartoon bull with a joystick and push other bulls out of the ring. There are no accounts and no login. On your device, the app stores only a random ID, your coat color and the nickname you choose. In the live arena, only your nickname (or color name), color, score and game control signals pass through our server to players in the same room and to the ranking. Bull Push does not handle names, contact details, real location, photos or the microphone. One Google AdMob banner appears at the bottom of the home screen (section 5), and the app includes no analytics tools.
From version 1.1.0, the app is available in English and Korean and follows your device's language settings. On Korean devices it is called 소싸움. The information it handles is the same in both languages. The Korean policy above and this English policy describe the same practices.
1. Information we process and why
Bull Push does not ask for information that directly identifies you, such as your name, email address or phone number. The information it handles is listed below. Under “Stored in”, device means your phone, and server means the realtime relay (Supabase Realtime) or the round results store on slox.co.kr.
Random ID (device storage key sossaum-id)
- What
- “ox-” followed by 16 random characters and the time it was created. It is made on first launch and is not an account. It is not the operating system advertising ID or a hardware identifier.
- Purpose
- Tells your bull apart from the others in the same room, and decides which device hosts the round in the live arena.
- Stored in
- Device. While you are in the live arena, it is included in the player list and control signals sent to players in the same room. It is never added to the round results store.
- Kept for
- Until you delete the app. Reinstalling creates a new one. It drops off the server's player list when you leave the room.
Coat color (device storage key sossaum-color)
- What
- A number (0 to 11) for one of 12 colors. You can change it on the home screen.
- Purpose
- Draws your bull, and gives it a color name such as Butter Bull when you have no nickname.
- Stored in
- Device. In the live arena, it is included in the player list and saved with round results.
- Kept for
- On the device until you delete the app. Values saved in round results are kept as described in section 3.
Nickname (optional, device storage key sossaum-nickname)
- What
- A name of 2 to 20 characters that you type on the home screen. Line breaks and control characters are not allowed, and nicknames containing common English or Korean swear words or slurs cannot be saved (a basic filter on your device). Without a nickname, you play under your color name.
- Purpose
- Your name tag for players in the same room, saving round results, and the daily and weekly rankings. Only bulls with a nickname are ranked.
- Stored in
- Device. When a round ends in the live arena, it is also saved in the round results store on slox.co.kr.
- Kept for
- On the device until you clear it or delete the app. Round results on the server are kept as described in section 3.
- Who sees it
- Players in the same room (including web players on slox.co.kr) see it on name tags, and anyone can see it on the public ranking in the app and on the web. Please do not use your real name or contact details as a nickname.
Game controls and state (live arena only)
- What
- Movement and push input (ID, sequence number, direction, push, time), the room state produced by the hosting device (every bull's position, speed and score inside the ring), host handover signals, and round start and end signals. Positions here are places inside the game ring, not your device's real location.
- Purpose
- Keeps the match in sync with players in the same room in real time.
- Stored in
- Not stored. Relayed through Supabase Realtime to players in the same room and never saved in a database.
- Kept for
- Ends when you leave the room.
Player list entry (live arena only)
- What
- Random ID, name (nickname or color name), color, join time, role (player or watcher), room number and an away flag. To count how many people are in the arena, the home screen also joins the lobby as a watcher with an empty name.
- Purpose
- Assigning rooms, showing player counts and choosing the host.
- Stored in
- Only in the Supabase Realtime player list, never in a database.
- Kept for
- Removed from the list when you leave the room or the home screen.
Round results (live arena only)
- What
- Room name (room-N), round number, end time, transport type, number of players, and each player's name, color and score (push-outs). Practice arena rounds are never sent. Color names are sent in their original Korean form (for example, 버터색 황소) so the app and the web show the same bull, and the English app displays them in English, such as Butter Bull.
- Purpose
- Daily and weekly rankings, and keeping the same round from being reported twice.
- Stored in
- The round results store on slox.co.kr (a Supabase database).
- Kept for
- See section 3.
From version 1.1.0, the nickname filter runs entirely on your device using a basic word list. It sends nothing new to our server and does not change what the server stores. If a nickname you saved earlier is caught by the filter, the app stops using it and you play under your color name. If another player's name (for example, one set on the web) is caught, that bull is shown on your screen under its color name. It is a basic filter for common cases, so it will not catch everything.
2. Permissions
- The Android app declares the internet permission (INTERNET), and the Google ads SDK adds ACCESS_NETWORK_STATE and AD_ID at build time. The internet is used to join the live arena, report round results, load the ranking and show the home screen banner. These permissions are granted automatically at install, with no prompt. Without the internet, only the practice arena opens, and it runs entirely on the device.
- The iOS app asks you for no permissions.
- Neither platform asks for microphone, camera, location, contacts, photos, notifications or storage permissions. In this policy, “position” and “coordinates” mean places inside the game ring. The app never reads your device's real location (GPS).
3. What is sent to the server and how long it is kept
In the practice arena, the game information in section 1 never leaves your device (the ads SDK on the home screen is described in section 5). The live arena opens only in builds that include server settings, and then the communication below takes place. Nothing sent to the server includes your real name, contact details, real location or photos, unless you type them into your nickname yourself.
Realtime relay (Supabase Realtime)
The app posts its player list entry and exchanges control and state signals on the lobby channel (sossaum:lobby) and room channels (sossaum:room-N). Players on the same channel, including web players on slox.co.kr, receive this information. Bull Push does not store these signals in a database. When you leave the room, you drop off the player list and the channel is disconnected.
Round result report (POST https://www.slox.co.kr/api/sossaum/round)
Only the device that hosted the round in the live arena sends it, and only when at least one human player scored. Practice buddies (bots) are left out. The report contains the room name, round number, each player's name, color and score, the end time and the transport type. It does not include the random ID.
Before saving, the server checks the body size (4 KB), the format and the limits (names up to 20 characters, at most 90 points per player, and an end time between 1 hour before and 10 minutes after the server's clock). If the same room, round number and end time are reported twice, only the first report is kept. Players with a color name are saved with a guest flag and left out of ranking totals.
Saved fields: room name, round number, end time, transport type, number of players, number of nicknamed players, each player's name, color, score and guest flag, and the time saved.
Retention: the round results table has no automatic deletion or cleanup schedule, so rows are kept until you ask us to delete them or the operator removes them. The ranking only totals today and this week (Korea time), but older rows remain in the table.
Ranking lookup (GET https://www.slox.co.kr/api/sossaum/ranking)
Sends only the period (today or this week) and no personal information. The response lists the top 20 nicknames with their totals, number of rounds, best scores and the time of their last round. Anyone can see the same ranking on slox.co.kr.
IP address
To limit how often results are reported, the slox.co.kr server briefly checks the requesting IP address in server memory. It does not store IP addresses in a database or link them to round results. If a check or a save fails, the server error log keeps only the error code and message.
4. Service providers, sharing and international transfers
The following companies process information so we can run the service. We do not share or sell personal information to anyone else.
- Supabase: relays the live arena's player list and control signals (Realtime) and stores the round results database. Supabase Privacy Policy
- Vercel: hosts the slox.co.kr website and API server. Round result reports and ranking lookups pass through this server. Vercel Privacy Policy
- Google AdMob: the banner on the home screen. The Google ads SDK collects the information described in section 5 (advertising ID, approximate location based on IP, ad views and clicks, diagnostics) and processes it on Google's servers. Nicknames, the random ID, match records and rankings are never passed to it. Google's advertising policy
International transfers: Supabase, Vercel and Google are headquartered outside Korea, and the servers that process data may be located in other countries, including outside your own. Supabase and Vercel process the information in sections 1 and 3 (random ID, nickname or color name, color, score, room name, times and game control signals), and Google processes the ad information in section 5. None of it includes names, contact details or real location.
We use no other third-party SDKs, such as speech recognition, social login or analytics. The nickname filter is a word list inside the app, not an outside service. We may disclose information only to the extent required by a court order or by law.
5. Ads
Bull Push shows one Google AdMob banner at the bottom of the home screen. The ring, the results and the ranking have no ads, there are no interstitial or rewarded ads, and no new banner is requested while you are in an arena. To serve and measure ads, the Google Mobile Ads SDK may collect your device's advertising ID, approximate location based on your IP address (country or region level), ad views and clicks, and app performance and crash diagnostics. Your nickname, coat color, random ID, match records and rankings are never passed to the ads SDK. Even if you only play in the practice arena, the home screen ad is shown whenever you are online.
- No tracking. On iOS, Bull Push does not ask for App Tracking Transparency (ATT) permission and does not use the advertising ID to track you across other companies' apps or websites.
- Ad content rating. Ads are requested with a maximum content rating of T (Teen).
- Consent and choices. Users in the European Economic Area (EEA) and the UK see a consent form before any ad is shown and can change their choice at any time with Ad privacy settings in the Ads section below How to play on the home screen (Bull Push has no settings screen). Elsewhere, no extra consent is needed, so the button is unavailable and shows “Not needed in your region.”
- Deletion and questions. Information collected by the ads SDK is processed by Google. SLOX does not receive it at the individual level, so it cannot be deleted from within the app. On Android, you can reset or delete your advertising ID under Ads in your device settings. For details on how Google processes this data, see Google's advertising policy.
- No analytics. Bull Push includes no usage analytics SDKs.
6. Children
Bull Push has no accounts and no age check. It is not directed at children under 13, and in the EEA and UK it is not directed at children under 16 where local law sets that age. We do not knowingly collect personal information from children. The only thing the app asks you to type is an optional nickname. If you learn that a child has entered personal information, such as a real name, as a nickname and it appears on the ranking, please email us. We will delete it after checking.
7. Your rights and how to delete your data
- On your device: clear the nickname box on the home screen and save to delete your nickname from the device and go back to your color name. You can change your coat color on the home screen. There is no separate button to delete the random ID and coat color; both are deleted when you delete the app.
- On the server: there is no way to delete round results from inside the app. To have the round results saved under your nickname deleted, email us the nickname and roughly when you played. After checking, the operator will delete those rows and reply to let you know. Rounds played under a color name (for example, Butter Bull) are hard to delete one by one, because many people share the same name and we cannot tell which rows are yours.
- We also accept requests to access or correct your data, or to stop processing it, at the same address. We handle them promptly, within 10 days of receiving them at the latest, and tell you the result.
- Users in the EEA and UK: we process the data above because it is needed to run the live arena and the rankings you choose to take part in. Personalized ads depend on the choice you make in Google's consent form. You may also object to or restrict processing, and you can complain to your local data protection authority.
- Contact: namurobori@gmail.com
8. Security
- Round result reports and ranking lookups sent to slox.co.kr are encrypted with HTTPS.
- Row level security (RLS) is enabled on the round results table, and only the server-only key (service_role) can read or write it. The public key in the app cannot access the table directly and is used only to join realtime channels.
- The server checks the body size, format and limits of each report, and limits how often requests can be made from one IP address. Rankings are totaled only by a server function, and the table is never exposed to the app directly.
- Server connection details (address and key) are supplied at build time and are not kept in the source repository.
- Nicknames and player names are checked for length (20 characters) and control characters in both the app and the server. The app also screens out common swear words and slurs with an on-device word list.
- The random device ID is never included in round results, and saved round results contain nothing that directly identifies a person.
9. Privacy officer and contact
- Service provider: SLOX (Bull Push)
- Privacy officer: Seokwon Yang (양석원)
- Contact: namurobori@gmail.com
Please send privacy questions, complaints and deletion requests to the email address above. Please do not send extra personal information, such as a photo of your ID. We do not accept it.
10. Changes to this policy
If this policy changes, we will post the revision date and what changed on this page. This policy has applied since September 23, 2026.
- v1.0 (September 23, 2026): First version.
- v1.1 (September 24, 2026): Added one Google AdMob banner at the bottom of the home screen. Section 5 became Ads, and the permissions, service provider and international transfer text was updated.
- v1.2 (October 7, 2026): Added the English app (English name Bull Push) and this full English policy. Sections 1, 4 and 8 now describe the on-device nickname filter, and section 5 notes that no banner is requested while you are in an arena. What is sent to and stored on the server is unchanged. Applies from app version 1.1.0.