개인정보 원칙
aing-check는 근무 시작/종료 기록과 팀 상태 표시, 앱 사용자가 함께 보는 AI 도구 사용량 숫자, 콕 찌르기, 그리고 미니게임 순위를 다룹니다. 내 근무 시작/종료 시각·근무 시간·근무 기록은 같은 팀 안에서만 보입니다. 다만 콕 찌르기 대상 목록·AI 토큰 순위판·미니게임 순위표는 팀 단위가 아니라 같은 앱을 쓰는 모든 사용자가 서로 보는 화면입니다 — 무엇이 어디까지 보이는지는 아래 “누가 무엇을 볼 수 있나”에 적었습니다.
수집하는 데이터
- 이메일
- 표시 이름(별명. 팀원뿐 아니라 콕 찌르기 대상 목록·AI 토큰 순위판·미니게임 순위표를 통해 같은 앱을 쓰는 모든 사용자에게 보입니다)
- 팀 멤버십
- 소속 센터(서울/부산 둘 중 하나. 별명·아바타와 함께 콕 찌르기 대상 목록·AI 토큰 순위판·미니게임 순위표·팀별 현황에서 아바타 모서리의 작은 글자로 같은 앱을 쓰는 모든 사용자에게 보입니다). 이 항목은 받는 시점이 두 갈래입니다 — 센터 표시가 생기기 전에 이미 가입해 있던 사용자는 전원 서울센터 연수생이어서 운영자가 서버에서 한 번에 서울로 넣었고, 그 뒤로 가입하는 사람은 가입 화면에서 본인이 서울/부산을 직접 고릅니다(미선택이면 가입 버튼이 눌리지 않습니다 — 기본값을 서울로 두면 부산 연수생이 아무것도 안 하고 서울로 잡히기 때문입니다). 어느 쪽이든 센터는 가입할 때 한 번 고르는 값이고, 그 뒤로는 본인이 바꿀 수 없습니다 — 설정 창의 “내 정보”에서 지금 내 센터가 무엇으로 되어 있는지 확인만 할 수 있습니다. 잘못 골랐거나 센터를 옮겼으면 운영자에게 말하면 서버에서 고쳐 줍니다. 값이 없는 계정에는 아무 표시도 붙지 않습니다. 센터는 표시에만 씁니다 — 순위판·팀 리그·콕 찌르기·메시지·미니게임의 범위는 지금처럼 앱 사용자 전체가 한데 섞이고, 센터로 갈리지 않습니다.
- 근무 시작/종료 시각
- 현재 근무 상태(지금 근무 중인지 아닌지. 팀원에게는 물론, 콕 찌르기 대상 목록을 통해 같은 앱을 쓰는 모든 사용자에게도 보입니다 — 아래 “누가 무엇을 볼 수 있나” 참고)
- 마지막으로 컴퓨터를 만진 시각(키·클릭·스크롤 중 가장 최근 것의 시각 하나. 무엇을 입력했는지는 담기지 않으며, 마우스 움직임만으로는 갱신되지 않습니다. 자리 비움을 판정하고, 자리를 비운 시간이 팀 순위판에 근무로 계속 오르지 않게 하는 데 씁니다 — 아래 “자리 비움 자동 근무종료”와 “누가 무엇을 볼 수 있나” 참고)
- AI 도구(Claude Code·Codex) 토큰 사용량 숫자(이번 달 누적·오늘 증가분·일별 합계와 집계 진단용 카운터). 이 Mac의 로컬 사용 기록에서 숫자만 세어 올리며, 대화 내용·프롬프트·파일 경로는 읽지도 보내지도 않습니다. 이번 달 누적과 오늘 증가분은 별명·아바타와 함께 팀이 아니라 앱 사용자 전체가 보는 AI 토큰 순위판에 오릅니다. 일별 합계(하루 단위 숫자, 내 기록의 토큰 잔디용)는 본인만 조회하며 순위판에는 오르지 않습니다. 설정 창의 “AI 토큰 사용량 공개” 스위치로 순위판 비공개(남에게 안 보임)를 고를 수 있습니다. 수집 자체를 멈추는 스위치는 앱에 없으며, 요청하면 운영자가 서버에서 처리합니다(서버에서 끄면 즉시 수집이 멈추고 이미 쌓인 기록도 삭제됩니다).
- Codex 계정 사용량 숫자(이 Mac에 설치된 codex 로 계정 프로필의 일별 토큰 합계를 읽어 이번 달 합·누적 합·읽은 시각·마지막 반영 날짜를 올립니다. 날짜별 합계도 함께 올라가며 본인만 조회합니다. 순위판에는 이 값에서 계산한 이번 달 몫만 오릅니다. 한 Codex 계정을 여러 사람이 쓰면 계정 누적 합이 서로 같아지는데, 서버는 그 사실로 공유를 알아채 계정 사용량을 각자의 로컬 집계 비율대로 나눕니다 — 이때 비교되는 것은 숫자뿐이고 누가 누구와 계정을 공유하는지는 순위판이나 다른 사용자 화면에 표시되지 않습니다. 로그인 파일은 있는지만 확인할 뿐 내용을 읽지 않으며, 대화·프롬프트는 여기서도 다루지 않습니다)
- 콕 찌르기 기록(누가 누구를 언제 찔렀는지). 찌르기는 팀과 무관하게 같은 앱을 쓰는 누구에게나 보낼 수 있고(집중 모드를 켜 두면 받지 않습니다), 서버가 7일 뒤 자동 삭제합니다.
- 1:1 메시지(보낸 사람·받는 사람·본문 200자까지·보낸 시각). 근무 중이 아니어도 주고받을 수 있고(집중 모드인 사람에게는 가지 않습니다), 서버가 24시간 뒤 자동 삭제합니다. 메시지는 보낸 사람과 받는 사람 두 사람만 봅니다. 다만 받은 메시지 한 건을 신고하면 그 본문이 신고 기록에 복사되어 남습니다 — 아래 “신고” 참고.
- 메시지 읽음 기록(대화마다 “상대가 보낸 메시지를 어디까지 읽었는지” 한 줄). 받는 사람이 대화 창을 열어 두면 기록되고, 보낸 사람 화면에 읽었는지가 보입니다(아직 안 읽은 말풍선 옆에 1). 캐릭터 말풍선으로 잠깐 본 것은 읽음으로 치지 않습니다. 대화 상대 두 사람 말고는 아무도 보지 않으며, 계정을 지우면 함께 지워집니다.
- 오늘 할 일 목록(항목 제목·만든/고친/끝낸/지운 시각·처음 만든 날). 같은 계정으로 로그인한 여러 기기에서 같은 목록을 쓰도록 계정에 저장하고 기기끼리 맞춥니다. 본인만 조회하며 팀원을 포함해 다른 사용자에게는 보이지 않습니다. 끝내거나 지운 항목은 90일이 지나면 서버와 기기에서 지워집니다. 이 기능이 생기기 전 이 Mac 에만 있던 할 일은 업데이트 후 첫 실행 때 계정으로 한 번 올라갑니다.
- 미니게임 일별 최고기록(게임 종류·날짜·점수·달성 시각·판 수)과 일별 1등 상품 지급 기록. 미니게임 창(타이밍 바·플래피 아잉)에서 한 판이 끝날 때마다 그 판의 점수를 올리고, 서버가 그날의 최고 점수와 판 수만 남깁니다. 그날의 순위는 별명·아바타와 함께 팀이 아니라 앱 사용자 전체가 보는 미니게임 순위표에 오르고, 매일 자정(KST) 전날 게임별 1·2·3등에게 루비를 상품으로 지급한 기록(날짜·게임·등수·받은 사람·점수)도 함께 저장됩니다. 점수가 제대로 기록되도록 판을 시작한 시각도 함께 남습니다(어느 게임을 언제 시작했는지 하나뿐이고, 판이 끝나면 쓰임이 끝납니다). 설정 창의 “미니게임 순위 공개” 스위치를 끄면 순위표에서 빠지고 점수도 올라가지 않습니다(그 판의 점수는 이 Mac 에만 남습니다). 게임 자체는 이 Mac 에서만 돌고 조작 내용(클릭·키 입력 시각 등)은 저장하지 않습니다.
- 버그·요청사항 제보(제보 창에서 보낸 글). 담기는 것은 본문(사람이 직접 쓴 자유 문장, 1~1000자)·종류(버그/요청사항)·앱 버전과 macOS 버전 문자열·보낸 시각입니다. 두 버전 문자열은 재현에 필요해서 앱이 자동으로 붙이며, 무엇이 함께 가는지는 제보 창에 그대로 적어 둡니다. 제보는 팀과 무관하게 본인과 운영자만 봅니다(다른 사용자에게는 목록에도 오르지 않습니다) — 운영자 화면에는 별명·아바타가 함께 보이고, 운영자가 붙인 처리 상태와 답장 메모는 제보자에게도 보입니다. 보관 기간은 따로 두지 않습니다: 버그를 고치려고 읽는 기록이라 자동 삭제하지 않고 계속 남습니다. 계정이 지워지면 제보 본문은 남고 작성자 연결만 끊깁니다(그 뒤로는 운영자만 보며, 누가 썼는지는 서버에도 남지 않습니다). 특정 제보를 지우고 싶으면 운영자에게 요청하면 서버에서 지웁니다 — 앱에는 제보 삭제 버튼이 없습니다(남의 제보가 지워지는 길을 아예 만들지 않으려는 것입니다). 한 사람이 최근 24시간에 보낼 수 있는 제보는 10건까지입니다.
- 차단 기록(내가 누구를 언제 차단했는지). 차단하면 그 사람과는 어느 방향으로도 메시지가 가지 않고, 주고받던 대화가 목록에서 사라지고, 오목 신청과 콕 찌르기가 막히고, 사람 찾기 목록에서 서로 보이지 않습니다(순위판·팀 현황·팀 리그·오목의 “지금 대결 중” 목록에 오르는 이름은 그대로입니다 — 팀과 남의 판의 통계라 빈칸이 생기면 다른 숫자가 틀어집니다). 본인만 조회하며, 차단당한 사람에게는 알리지 않습니다(차단된 상대에게는 없는 사람에게 보낸 것과 같은 응답이 갑니다). 앱에서 언제든 해제할 수 있고, 해제하면 그 기록은 지워집니다.
- 신고(신고 창에서 보낸 것). 담기는 것은 신고 대상인 사람·사유 네 가지 중 하나(스팸 / 욕설·괴롭힘 / 부적절한 내용 / 기타)·자유 입력 200자(선택)·보낸 시각이고, 그 사람이 나에게 보낸 메시지 한 건을 신고하면 그 메시지 본문 400자까지가 신고 기록에 함께 복사됩니다. 본문을 복사해 두는 것은 메시지가 24시간 뒤 지워진 다음에도 운영자가 무엇이 신고됐는지 볼 수 있어야 하기 때문입니다(남의 대화는 신고에 실을 수 없습니다). 신고는 본인과 운영자만 봅니다 — 신고당한 사람에게는 누가 신고했는지는 물론 신고가 있었다는 사실도 보이지 않습니다. 보관 기간은 따로 두지 않습니다: 처리 이력으로 읽는 기록이라 제보와 같은 규칙으로 자동 삭제하지 않습니다. 한 사람이 같은 대상에게 최근 24시간에 낼 수 있는 신고는 10건까지이고, 접수한 신고는 24시간 안에 확인합니다.
- 착용 캐릭터(여섯 중 고른 하나. 고르지 않았으면 기본 캐릭터 아잉). 내 화면에만 쓰이는 값이 아닙니다 — 프로필 사진을 올리지 않았으면 별명·아바타가 뜨는 목록·순위표(콕 찌르기 대상 목록·AI 토큰 순위판·미니게임 순위표·메시지·오목 등)의 아바타 자리에 내 착용 캐릭터가 보이고, 이 목록들처럼 같은 앱을 쓰는 모든 사용자가 봅니다. 사진을 올렸으면 평소에는 사진이 보이지만, 올린 사진을 불러오지 못할 때(네트워크 오류·파일이 지워진 경우 등)는 그 자리에 착용 캐릭터가 대신 보입니다. 그래서 착용값 자체는 프로필 사진을 올렸는지와 상관없이 같은 앱을 쓰는 모든 사용자의 앱에 전달됩니다(사람마다 착용 캐릭터 하나뿐이고, 캐릭터 소유 기록·루비는 담기지 않습니다). 차단한 사이에도 순위판·팀 현황의 이름처럼 그대로 보입니다. 또 울트라 찌르기로 누군가를 찌르면 상대 화면을 5초간 덮는 것이 내가 고른 캐릭터라서, 그 순간 상대에게 보입니다.
- 루비 잔량과 재화 기록(언제 얼마를 벌고 썼는지. 근무 3시간마다·미니게임 상품·가입 지급으로 늘고, 캐릭터나 울트라를 사면 줄어듭니다). 본인만 조회하며 다른 사용자에게는 잔량도 기록도 보이지 않습니다.
- 캐릭터 소유 기록(무엇을 언제 얻었는지). 산 캐릭터를 다시 사지 않게 하고 고를 수 있는지 판정하는 데만 씁니다. 본인만 조회합니다.
- 프로필 아바타 이미지(선택 — 본인이 직접 고른 경우에만 공개 아바타 버킷에 저장되며, 팀원과 콕 찌르기 대상 목록·AI 토큰 순위판·미니게임 순위표에 보입니다)
- 기기 식별자(앱이 이 Mac에서 처음 실행될 때 만든 무작위 UUID. 같은 계정으로 여러 Mac을 쓸 때 어느 Mac이 근무를 열었는지·각 Mac의 마지막 입력 시각을 구분하고, AI 도구 사용량을 덮어쓰지 않고 합산하기 위한 용도이며, 기기 이름·모델·일련번호 같은 정보는 담지 않습니다)
로그인 비밀번호는 Supabase Auth 요청에만 사용하며 앱 저장소에 저장하지 않습니다. 다음 실행 때 편하게 이어 쓰도록 이메일·별명·사용자 식별자 UUID는 이 Mac의 사용자 기본값(UserDefaults)에, 로그인 세션 토큰(액세스/리프레시)은 macOS 로그인 키체인에 저장됩니다. 로그아웃하거나 세션이 만료되어 재로그인이 필요해지면 저장된 토큰은 지워집니다.
수집하지 않는 데이터
- 스크린샷
- 키보드 입력
- 마우스 움직임
- 앱/웹사이트 사용 기록(위의 AI 도구 토큰 사용량 숫자가 유일한 예외입니다)
- 카메라, 마이크, 위치 정보
- 생산성 점수
자동 근무 시작(넛지) 기능
쉬는 중에 컴퓨터를 한동안 쓰고 있으면 앱이 근무를 자동으로 시작합니다. 이 기능은 시스템이 알려 주는 “마지막 입력 후 경과 시간” 숫자 하나만 확인하며(운영체제가 권한 없이 제공하는 값), 무엇을 입력했는지·화면에 무엇이 있는지는 전혀 접근하지 않습니다. 이 기능이 보는 숫자 자체는 로컬에서만 쓰입니다. 다만 근무 중에는 그 숫자에서 계산한 “마지막으로 만진 시각” 하나를 서버로 보냅니다(아래 문단).
자동 시작은 몰래 일어나지 않습니다. 시작하는 순간 캐릭터가 말풍선으로 알려 주며(캐릭터를 숨겨 둔 경우에는 메뉴바 아이콘이 근무중으로 바뀝니다), 원치 않으면 메뉴바 팝오버에서 근무 종료 를 누르면 됩니다.
자리 비움 자동 근무종료
근무를 켜 둔 채 잠들거나 잊고 자리를 뜨는 일이 있어서, 오래 아무것도 만지지 않으면 앱이 근무를 자동으로 마감하도록 만들어져 있습니다. 마감 시각은 마지막으로 만진 시각이며, 자리를 비운 뒤의 시간은 근무로 세지 않습니다. 마감 임계는 서버가 정하는데, 지금은 그 값을 보정하는 중이라 무입력만으로는 마감되지 않고 잠자기(뚜껑 닫음)·신호 끊김에 의한 자동 마감만 동작합니다 — 그동안에도 아래의 시각 전송과 순위판 반영은 그대로입니다.
이 판단에 쓰는 것은 시각 하나뿐입니다.
- 보내는 것: “마지막으로 키·클릭·스크롤을 한 시각”. 근무 중에만 보내며, 30초에 한 번까지만 갱신됩니다. 근무 중이 아니면 보내지 않습니다.
- 보내지 않는 것: 무엇을 입력했는지, 어떤 앱·사이트를 썼는지, 화면에 무엇이 있었는지. 마우스를 움직이기만 한 것은 “만졌다”로 세지 않습니다.
- 화면을 잠그면 그 시각은 더 이상 갱신되지 않습니다. 잠금 화면에서 비밀번호를 입력해도 근무가 연장되지 않습니다.
잠깐 비운 것이면 돌아왔을 때 자동으로 이어집니다. 자동 마감 뒤 복원할 수 있는 동안에는 내 메뉴바가 “오프” 대신 자리비움으로 바뀌어 알려 주고, 다시 컴퓨터를 만지면 버튼을 누르지 않아도 그 근무가 재개됩니다. 되살아나는 시간은 마감 시각 기준 30분까지입니다 — 그보다 오래 비운 시간은 근무로 복구되지 않습니다(v0.2.46 에서 최대 6시간 되돌리기를 이 방식으로 바꿨습니다. 잠든 시간이 근무로 되살아나는 경우가 실제로 있었기 때문입니다).
팀원에게는 자동 마감과 직접 누른 근무종료가 구분되어 보이지 않습니다(마감 사유는 팀 화면에 내려 주지 않습니다). 다만 자리를 비운 것이 팀에 전혀 안 보이는 것은 아닙니다 — 있는 그대로 적습니다.
- 팀별 현황(순위판)에서 진행 중 근무의 라이브 합계는 마지막 입력 + 30분까지만 오릅니다. 30분 넘게 자리를 비우면 우리 팀 합계가 멈추므로, 팀원은 “순위가 멈췄다”는 형태로 자리 비움을 간접적으로 알아챌 수 있습니다. 이미 끝난 근무 기록은 여기서 1초도 줄지 않습니다.
- 자동 마감은 마지막으로 만진 시각으로 소급해 기록되므로, 팀원 화면의 내 근무 숫자가 줄었다가 자동 재개로 다시 돌아올 수 있습니다. 이 “줄었다 돌아오는” 패턴도 자동 마감의 흔적이 될 수 있습니다.
누가 무엇을 볼 수 있나
로그인하지 않은 사람은 아래 어느 목록·숫자도 볼 수 없습니다(예외는 아바타 이미지 파일 하나 — 공개 버킷에 저장되므로 주소를 아는 사람은 로그인 없이 열 수 있습니다). 로그인한 사용자 기준으로, 보이는 범위는 셋으로 나뉩니다.
같은 팀 안에서만 보이는 것 — 내 근무 시작/종료 시각, 근무 시간과 지난 근무 기록, 팀원 목록에 보이는 각자의 상태, 그리고 “마지막으로 만진 시각”(아래). 팀 밖의 사람에게는 이런 개인별 숫자가 내려가지 않습니다. 팀별 현황(순위판)은 여러 팀을 나란히 놓는 리그라 앱 사용자 전체가 보지만, 거기 오르는 것은 팀 이름·주간 목표·팀 합계 시간·근무 중 인원수·인원수와, 팀원 전원이 같은 센터일 때만 붙는 그 팀의 센터 표시뿐이고 개인별 숫자는 없습니다(센터가 섞인 팀이나 값이 없는 팀원이 있는 팀에는 표시하지 않습니다).
같은 앱을 쓰는 모든 사용자에게 보이는 것 — 팀과 무관하며, 팀에 아직 들어가지 않은 사용자도 포함됩니다.
- 콕 찌르기 대상 목록: 별명(표시 이름)·아바타·소속 센터·지금 근무 중인지. 팀이 달라도 서로 찌를 수 있도록 앱 사용자 전체를 한 목록으로 보여 주는 의도된 동작이며, 목록에 담기는 것은 이 네 가지뿐입니다 — 근무 시간·시작 시각·소속 팀·이메일은 담기지 않습니다. 근무를 켜고 끌 때마다 “근무 중” 표시가 바뀌므로 팀 밖 사람도 내가 지금 일하는 중인지는 알 수 있지만, 언제 시작했는지·얼마나 했는지는 알 수 없습니다. 지금은 이 목록에서 나를 빼는 설정이 없습니다 — 집중 모드를 켜면 남이 나를 찌르지는 못하지만 목록에는 그대로 보입니다.
- AI 토큰 순위판: 별명·아바타·소속 센터·이번 달 누적과 오늘 증가분 숫자. 설정에서 비공개로 바꾸면 다른 사람의 순위판에서 빠지고 내 순위판에서만 보입니다.
- 미니게임 순위표: 별명·아바타·소속 센터·그날의 최고 점수, 그리고 어제 1등이 누구였는지(별명·소속 센터·점수·상품 지급 여부). 설정의 “미니게임 순위 공개”를 끄면 다른 사람의 순위표에서 빠지고 내 순위표에서만 보이며, 점수도 서버에 올라가지 않습니다.
- 착용 캐릭터: 사람마다 지금 입은 캐릭터 하나(고르지 않았으면 아잉). 위 목록·순위표와 메시지·오목 화면의 아바타 자리에 그리려고 프로필 사진을 올렸는지와 상관없이 모든 사용자의 앱에 전달됩니다 — 사진이 없거나 올린 사진을 불러오지 못하면 그 자리에 캐릭터가 보입니다. 차단한 사이에도 거르지 않습니다(순위판·팀 현황의 이름과 같습니다).
나만 보는 것 — 루비 잔량과 재화 기록, 캐릭터 소유 기록, 그리고 내가 차단한 사람 목록입니다. 다른 사용자에게는 목록에도 오르지 않습니다. 다만 착용 캐릭터는 나만 보는 값이 아닙니다 — 착용값은 프로필 사진을 올렸는지와 상관없이 같은 앱을 쓰는 모든 사용자의 앱에 전달되고, 프로필 사진을 올리지 않았거나 올린 사진을 불러오지 못하면 위 목록·순위표의 아바타 자리에 내 착용 캐릭터가 뜹니다. 또 내가 울트라 찌르기를 보낸 상대의 화면에는 그 5초 동안 내 캐릭터가 뜹니다.
본인과 운영자만 보는 것 — 버그·요청사항 제보와 신고입니다. 본문·앱/OS 버전·보낸 시각은 쓴 사람과 운영자에게만 보이고, 팀원에게도 다른 사용자에게도 보이지 않습니다. 운영자에게는 제보자의 별명·아바타가 함께 보입니다 — 누구에게 답할지 알아야 하기 때문입니다. 계정이 지워진 뒤에는 작성자 연결이 끊겨 아무의 것도 아닌 글이 되고, 그때부터는 운영자만 봅니다. 신고도 같습니다 — 사유·자유 입력·신고된 메시지 본문은 신고한 사람과 운영자에게만 보이고, 신고당한 사람에게는 보이지 않습니다.
“마지막으로 만진 시각”
근무 중 서버로 보내는 “마지막으로 만진 시각”은 팀 단위로 열람되는 표에 저장됩니다. 앱 화면은 이 값을 어디에도 보여 주지 않지만, 같은 팀에 있는 사람이 API를 직접 호출하면 이 시각을 조회할 수 있습니다(30초 해상도). 팀 밖의 사람이나 로그인하지 않은 사람은 볼 수 없습니다.
이 칸만 팀원에게 가리는 것은 기술적으로 막혀 있습니다 — 열람 권한이 행 단위(팀)라서, 칸 하나를 가리면 앱 자신의 갱신까지 함께 깨집니다. 그래서 기술로 가리는 대신 여기 사실대로 적습니다. 담기는 것은 시각 하나뿐이고(무엇을 입력했는지는 없습니다), 근무 중이 아닐 때는 보내지 않으며, 쓰임새는 자리 비움 판정과 순위판 반영 두 가지입니다.
개인 기록(근무 리듬·주간 회고·12주 잔디)
요일별·시간대별 근무 리듬과 지난주 회고는 이미 저장된 내 근무 시작/종료 기록만으로 내 Mac에서 계산해 보여 주는 화면입니다. 이를 위해 새로 수집하거나 서버에 저장하는 데이터는 없으며, 팀 안팎 누구에게도 보이지 않습니다.
최근 12주의 날짜별 근무 잔디도 같은 기록에서 같은 방식으로 내 Mac이 계산하며, 본인만 볼 수 있습니다.
요청하지 않는 권한
앱은 Accessibility, Screen Recording, Camera, Microphone, Location 권한을 요청하지 않아야 합니다.
아이폰 앱
아이폰 앱(aing-check, iOS)은 Mac 앱과 같은 계정·같은 서버를 쓰는 동반 앱입니다. 위 “수집하는 데이터”의 메시지·읽음 기록·오늘 할 일·주간 목표·미니게임 기록·루비·캐릭터·프로필·제보는 폰에서도 같은 규칙으로 보이고 쓰입니다. 폰에서 따로 더하거나 빼는 것은 아래뿐입니다.
폰이 하지 않는 것
- 근무 시작/종료를 하지 않고, 근무 시간·현재 근무 상태·마지막으로 만진 시각을 올리지 않습니다(근무는 Mac 에서만 기록됩니다). 폰 화면의 근무 기록·잔디는 Mac 이 올린 기록을 읽기만 합니다.
- AI 도구 토큰 사용량을 세거나 올리지 않습니다(읽기만 합니다).
- 콕 찌르기·울트라 찌르기를 보내거나 받지 않습니다.
- 광고·분석·추적 도구를 쓰지 않고, 앱 안 결제가 없습니다(루비는 앱 안 포인트입니다).
폰에서도 하는 것 (2026-09-18 추가)
- 가입: 폰에서 계정을 만들 수 있습니다. 받는 것은 이메일·비밀번호·별명·소속 센터이고, Mac 가입과 같은 값입니다.
팀에 들어가는 방법도 같습니다 — 팀 코드로 합류하거나 새 팀을 만듭니다.
- 이메일 인증: 가입할 때 이메일로 6자리 코드를 보내 본인 확인을 합니다(비밀번호 재설정과 같은 방식).
코드 메일은 서버가 보내며, 앱은 메일함을 읽지 않습니다.
- 비밀번호 재설정: 폰에서도 6자리 코드로 새 비밀번호를 정할 수 있습니다.
- 차단·신고: 대화 화면에서 상대를 차단하거나 신고할 수 있고, 설정에서 차단한 사람을 보고 해제합니다. 맥 앱에는 아직 이 화면이 없습니다 — 차단·해제는 폰에서 하고, 그 결과는 맥에도 그대로 적용됩니다.
폰에서 더 저장하는 것
- 기기 등록: 설치마다 앱이 만든 무작위 식별자(UUID), 플랫폼(ios), 앱 버전·빌드, 알림 토큰(Apple 이 발급한 푸시 주소)과 그 환경, 알림 종류별 켬/끔, 등록·마지막 확인 시각. 알림을 보낼 기기를 찾고, 이 폰이 받을 수 있는 기능인지 판정하는 데만 씁니다. 기기 이름·모델·일련번호·전화번호·광고 식별자는 담지 않습니다. 본인만 조회하며, 로그아웃하면 그 기기 행이 지워집니다(한 계정에 기기는 10대까지이고 넘으면 가장 오래 안 쓴 것부터 지워집니다).
- 푸시 알림: 새 메시지·오목 신청·제보 답장이 오면 서버가 Apple 푸시 서비스(APNs)로 알림을 보냅니다. 알림에는 보낸 사람 별명과 메시지 본문(또는 “오목 신청”·제보 답장 앞부분)이 실리며, 보내기를 위해 서버 발송함에 잠시 남았다가 24시간 뒤 자동 삭제됩니다. 알림 종류는 나 → 설정에서 끌 수 있고, 아이폰 설정에서 알림 자체를 끌 수도 있습니다. Mac 에서 근무 중이고 최근에 입력이 있으면 폰 알림은 보내지 않습니다.
- 폰 안에만 두는 것: 로그인 세션 토큰은 아이폰 키체인에, 이메일·사용자 식별자·오늘 할 일 사본·위젯이 그릴 요약(내 근무 여부와 오늘/이번 주/목표 시간, 지금 근무 중인 사람의 별명·센터·시작 시각·착용 캐릭터, 오늘 할 일 앞부분)은 이 앱과 위젯만 읽는 앱 그룹 저장소에 둡니다. 위젯은 사진을 불러오지 않으므로 근무 중인 사람의 얼굴은 프로필 사진을 올린 사람도 착용 캐릭터로 그립니다(앱에서 사진을 불러오지 못했을 때와 같습니다). 로그아웃하면 토큰·이메일·사용자 식별자·위젯 요약이 지워집니다. 할 일 사본은 아직 서버에 못 올린 변경이 들어 있을 수 있어 계정별 파일로 남기며, 다른 계정으로 로그인해도 그 계정에는 보이지 않습니다. 화면 모드(라이트/다크) 선택은 이 폰의 앱 설정에만 남고 서버로 가지 않습니다.
- 제보: 폰에서 보낸 제보에는 macOS 버전 대신 앱 버전과 iOS 버전 문자열이 붙습니다.
폰이 요청하는 권한
알림 권한 하나뿐입니다(처음 로그인한 뒤 설명 화면을 먼저 보여 주고 묻습니다). 카메라·마이크·위치·연락처·사진 권한은 요청하지 않습니다 — 프로필 사진은 사진 전체 접근 권한 없이 시스템 사진 선택 화면에서 고른 한 장만 받습니다.
계정 삭제
아이폰 앱에서 직접 지웁니다 — 나 → 설정 → 계정 삭제. 본인 확인을 위해 비밀번호를 한 번 더 받고, 확인하면 바로 지웁니다.
지워지는 것: 계정(로그인 자체)·프로필(별명·사진·센터)·근무 기록·메시지와 읽음 위치·할 일·캐릭터와 루비·상점 구매 내역·
미니게임 기록·오목 기록과 채팅·AI 토큰 기록·기기 등록과 알림 설정. 되돌릴 수 없고, 맥 앱도 같이 로그아웃됩니다.
같이 처리되는 것:
- 진행 중이던 오목 판은 지우기 전에 기권으로 마감합니다 — 그래야 상대가 걸었던 루비가 사라지지 않고 돌아갑니다.
- 혼자만 남아 있던 팀은 함께 지워집니다. 다른 사람이 남아 있는 팀은 그대로 둡니다.
- 제보 글은 본문이 남고 작성자 연결만 끊깁니다(누가 썼는지는 서버에도 남지 않습니다). 버그를 고치려고 읽는 기록이라 지우지 않습니다.
- 차단 기록은 내가 건 것도, 남이 나를 차단한 것도 함께 사라집니다.
- 신고는 내가 낸 것은 내용(신고된 메시지 본문 포함)이 남고 작성자 연결만 끊기며, 나를 대상으로 한 신고는 함께 사라집니다.
- 다른 사람이 받은 메시지 중 내가 보낸 것은 함께 사라집니다.
맥 앱에는 아직 삭제 버튼이 없습니다 — 맥만 쓰는 분은 제보(설정 → 제보)로 요청하면 운영자가 서버에서 같은 처리를 합니다.