1. 운영 주체와 적용 범위
이 방침은 디비안츠(Deviantce, 이하 '회사')가 운영하는 Hardi AI에 적용됩니다. 회사의 대표자는 허빈이고, 주소는 서울특별시 송파구 백제고분로41길 8-11, 401호(우편번호 05621)입니다.
- Hardi AI 데스크톱 앱(지금 배포하는 것은 macOS · Windows용 — Linux용은 출시 뒤)
- Hardi AI 모바일 앱(시험 배포 중)
- 워크스페이스 서버(<워크스페이스>.hardiai.com)와 관리자 콘솔
- 이 웹사이트(www.hardiai.com)
Hardi AI는 에이전트 실행처럼 많은 일을 사용자 컴퓨터에서 처리하고, 팀이 함께 보는 정보만 워크스페이스 서버에 둡니다. 2절은 기기에만 남는 정보, 3절은 서버에 저장하는 정보입니다.
2. 사용자 기기에만 남는 정보
다음 정보는 사용자 컴퓨터에 저장되며 회사 서버로 보내지 않습니다.
- 에이전트와 나눈 대화 세션. 에이전트 엔진은 앱에 들어 있고 사용자 컴퓨터에서 실행됩니다.
- AI 모델 연결 정보(Claude · ChatGPT 구독 로그인, 사용자가 넣은 API 키).
- 회의 녹음 오디오. 서버로 올리는 기능이 없고, 받아쓰기도 기기에서 합니다. 녹음은 기본으로 30일이 지나면 기기에서 지워지며, 보관 기간은 7 · 30 · 90 · 180일 또는 무기한 중에서 고를 수 있습니다.
- 워크스페이스 신원 열쇠(기기 개인 키). 설치본은 운영체제 키체인에 보관합니다(Windows는 그 사용자 계정으로만 풀리는 DPAPI 암호화 파일로 사용자 폴더에 둡니다).
- '이 기기만'으로 둔 폴더의 파일 목록과 내용. 감시 폴더의 기본값은 '이 기기만'입니다.
- '화면 제어'(기본 꺼짐)를 켰을 때 에이전트가 조작하는 앱 창에서 읽은 글과 화면 사진.
클라우드 받아쓰기는 선택 기능입니다. 기본으로 꺼져 있고, 켜려면 '오디오가 외부로 나갑니다' 고지에 동의해야 합니다. 현재 연결된 외부 받아쓰기 업체는 없습니다.
회사 서버는 사용자 기기의 데이터를 지울 수 없습니다. 앱 안에 기기 데이터를 한 번에 지우는 기능은 아직 없으며, 기기 데이터는 앱 데이터 폴더를 지우면 없어집니다.
3. 워크스페이스 서버에 저장하는 정보
| 구분 | 항목 |
|---|---|
| 계정과 기기 | 표시 이름, 프로필 이미지 주소, 이메일 주소, 기기 공개키, 기기 이름, 운영체제, 앱 버전, 최근 접속 시각, 워크스페이스 역할(소유자 · 관리자 · 멤버 · 손님). 초대 링크로 합류하면 실제 이메일 대신 기기 공개키로 만든 자리표 주소를 씁니다. |
| Hardi 계정 가입 · 로그인 | 이메일 일회용 코드로 가입하거나 로그인하면 이메일 주소와 그 주소로 보낸 코드의 발급 기록을 둡니다. 코드는 원문 없이 해시로만 두고 10분 동안 한 번만 쓸 수 있으며, 발급 횟수를 제한하려고 요청한 곳의 IP 주소를 해시한 값을 발급 기록에 함께 둡니다. 하루가 지난 발급 기록은 새 코드를 낼 때 지웁니다. Google 계정으로 가입하거나 로그인하면 Google이 확인한 이메일 주소와 이름, 그 Google 계정의 고유 번호를 둡니다. 계정을 만들 때는 가입 수단(이메일 코드 · Google)과 가입한 때, 동의한 약관 판(시행일)과 동의한 때, 제품 소식을 이메일로 받겠다고 골랐는지(선택 — 고르지 않으면 받지 않습니다), 고른 언어, 넣은 경우 표시 이름, 가입 페이지 주소에 붙은 캠페인 표시(utm_로 시작하는 값 8개까지)를 계정에 적습니다. 처음 앱에 로그인한 날과 계정 삭제를 요청한 날 같은 계정 기록은 날짜와 종류만 남깁니다. 로그인한 앱과 브라우저마다 로그인 세션(앱 종류, 앱이면 기기 공개키, 만든 때와 만료 시각)을 둡니다. 로그인 코드 메일은 9절의 메일 발송 업체(Resend)를 거쳐 보냅니다. |
| 베타 소식 대기 명단 | 웹사이트(www.hardiai.com)의 '베타 소식 받기'에서 신청하면 이메일 주소와, 적은 경우 이름 · 팀 크기 · 지금 쓰는 AI를 둡니다. 함께 두는 것은 신청한 페이지의 언어, 들어온 링크에 붙은 캠페인 표시(utm_source · utm_campaign 값), 동의한 안내문의 판과 동의한 때, 신청한 때입니다. 요청한 곳의 IP 주소는 한곳에서 너무 많이 신청하지 못하게 서버 메모리에서 몇 분 동안만 세고 저장하지 않습니다. 동의 칸을 직접 체크해야 받고, Hardi 계정을 만들지 않으며 계정과 잇지 않습니다. 수신을 거부하거나 지워 달라고 한 주소는 다시 보내지 않도록 회사 서버의 비밀 열쇠로 바꾼 값(같은 주소인지만 알 수 있고 주소로 되돌릴 수 없는 값)만 남깁니다. 소식 메일은 9절의 메일 발송 업체(Resend)를 거쳐 보냅니다. |
| 예비 고객 연락처 | 창립 팀과 제휴를 제안하려고, 회사가 홈페이지 · 공개 목록 · 커뮤니티에 스스로 공개한 업무 연락처를 모읍니다: 회사 이름, 웹사이트, 업무용 이메일 주소나 문의 양식 · 커뮤니티 주소(담당자 이름이 든 주소일 수 있습니다), 그 연락처를 본 공개 페이지 주소(출처), 회사에 맞는지와 다음 할 일에 관한 메모, 연락한 기록. 개인 연락처는 모으지 않고 출처를 늘 함께 적습니다. 대기 명단에 신청했거나 먼저 연락해 온 경우에는 그 경로를 적습니다. 그만 연락해 달라고 하거나 지워 달라고 한 연락처는 다시 연락하지 않도록 위와 같이 바꾼 값만 남깁니다. |
| 워크스페이스 콘텐츠 | 채널과 DM 메시지, 첨부 파일과 이미지, 팀 보드, 팀 문서(최근 이전 판 20개 포함), 작업 · 프로젝트 · 목표, 팀 캘린더와 할 일. 루틴의 웹훅 주소로 워크스페이스 밖에서 보낸 요청 본문(64KB까지)은 그 요청이 만든 작업의 첨부로 작업과 같은 기간 보관합니다. 받은 기록(받은 때 · 크기 · 결과)은 루틴마다 최근 100건까지만 남기고, 받지 않은 요청(서명이 맞지 않거나, 루틴이 꺼져 있거나, 너무 잦은 요청)은 본문도 기록도 남기지 않고 수만 셉니다. |
| 예약 링크 | 구성원이 만든 예약 링크로 워크스페이스 밖의 사람이 시간을 예약할 때 그 사람이 입력한 이름, 이메일 주소, 메모와 예약한 시각. |
| 에이전트 실행 기록 | 작업 스레드에서 실행된 에이전트의 시작 · 종료 시각과 상태. 같은 워크스페이스 구성원에게 보입니다. 대화 원문, 토큰 수, 비용은 들어가지 않습니다. |
| 사용량 기록 | 좌석 사용량 집계를 위한 모델 사용 누계: 계정, 시각, 모델 이름, 결제 경로 구분(구독 · 사용자 키 등), 토큰 수, 추정 비용. 앱이 최대 15분마다 보냅니다. 프롬프트와 응답 본문은 들어가지 않습니다. |
| 요금제와 결제 | 워크스페이스의 요금제, 좌석 수, 결제한 기간의 끝. 세금계산서(계좌이체)로 결제한 경우 입금일과 세금계산서 승인번호. 견적과 세금계산서 발행에 필요한 상호, 사업자등록번호, 담당자 이름과 이메일은 문의 메일로 받아 회사의 메일함과 세무 기록에 둡니다. 카드 번호 같은 결제 수단 정보는 회사가 받지도 저장하지도 않습니다. |
| 지식 검색 목록 | 사용자가 '팀' 또는 '내 계정'으로 공유하기로 고른 폴더의 파일 이름, 폴더 안 상대 경로, 형식, 크기, 시각, 내용 지문(SHA-256), 기기에서 만든 요약 카드. 파일 원본은 올리지 않습니다. |
| 회의 | 회의 목록(제목, 시각, 참가자 열람 권한, 지문). 회의 전사는 워크스페이스 관리자가 전사 업로드 정책을 켠 경우에만 저장하며, 기본은 꺼져 있습니다. |
| 연결한 외부 서비스 | 사용자가 연결한 서비스(Google, Slack, GitHub, Notion 등)의 인증 토큰(암호화), 연결한 계정 주소, 그 서비스에서 받은 항목. 캘린더 구독(ICS) 주소는 암호화해 보관합니다. Google 항목은 7절에 따로 적었습니다. |
| Slack에서 옮겨 오기 | 워크스페이스 소유자 · 관리자가 Slack에서 받은 내보내기(ZIP)를 올리면 그 안의 채널 · 대화 · 글 · 리액션 · 파일과 Slack 사람 목록(이름, 이메일 주소, Slack 사용자 번호, 봇 · 비활성 표시). 글과 파일은 워크스페이스 콘텐츠가 되고 'Slack에서 가져옴 · 가져온 사람' 표지가 붙습니다. 사람 목록은 같은 이메일로 확인된 멤버를 잇고 초대 메일을 보내는 데만 씁니다. 올린 ZIP은 읽고 나면 바로 지우고, 원래 참가자가 아직 들어오지 않은 비공개 채널 · DM의 글은 열릴 때까지만 서버에 둡니다. 소유자 · 관리자가 [가져온 것 지우기]를 누르면 가져온 채널 · 대화와 사람 목록을 지웁니다. |
| 모바일 알림 | 모바일 앱에서 알림을 켠 기기의 푸시 토큰. 암호화해 보관합니다. |
| 측정(선택) | 워크스페이스 관리자가 켠 경우에만 팀 단위 작업 집계를 저장합니다. 기본은 꺼져 있습니다. 집계 표에는 사람을 가리키는 칸이 없고, 5명보다 적은 묶음은 보여 주지 않습니다. |
| 감사 기록 | 로그인, 권한 변경, 외부 서비스 연결 · 해제, 내보내기 같은 관리 행위의 종류, 행위자, 대상, 시각. |
| 신고와 차단 | 이용자가 글 · 사람 · 에이전트를 신고하면 신고한 사람의 계정, 신고 대상(사람이나 에이전트의 키와 계정, 글이면 그 글과 채널의 식별자), 신고 이유, 신고한 사람이 남긴 한마디(500자까지), 처리 상태와 처리 메모, 시각. 글 원문은 신고 기록에 옮겨 두지 않습니다. 사람이나 에이전트를 차단하면 차단한 사람의 계정과 차단한 대상의 키. 신고와 차단은 신고 · 차단된 사람과 워크스페이스 관리자에게 보이지 않습니다. |
| 운영 집계 | 서비스 전체의 수를 날마다 한 줄씩 남깁니다: 가입한 계정 수, 워크스페이스 수, 유료 좌석 수, 통화별 월 반복 매출, 그날까지 7일 · 30일 동안 앱을 켠 사람 수와 워크스페이스 수. 같은 방식으로 서비스를 고치기 위한 합계도 남깁니다: 가입 뒤 이용 단계(첫 워크스페이스 · 첫 에이전트 · 첫 위임 · 다시 온 것)를 지난 수, 가입한 주마다 다시 온 수, 기능별(작업 · 에이전트 · 캘린더 · 위키 · 연동 등) 사용 수. 아래 '앱 사용 통계'도 주마다 같은 방식으로 합계만 남깁니다(이용 단계를 지난 설치 수, 일의 종류 · 사람과 에이전트별 수와 그 일을 한 설치 수, 기능별로 그 기능을 쓴 설치 수, 에이전트 실행이 끝난 수(상태 · 원인 · 걸린 시간 구간별)와 그 설치 수, 화면 · 에이전트 엔진 · 승인 요청 종류 · 오류 코드 · 앱 버전 · 운영체제별 수). 배포 · 설치도 같은 방식으로 날마다 수만 남깁니다: 설치 파일을 받은 수(플랫폼 · 버전별), 설치된 데스크톱 앱이 업데이트를 확인한 수와 업데이트를 받은 수(운영체제 · 앱 버전별), 그리고 최근 1 · 7 · 30일 동안 서버에 연결한 기기 수(앱 종류 · 운영체제 · 앱 버전별). 기기 수는 서비스를 제공하며 이미 남는 세션 · 기기 기록에서 세므로 '사용 통계 보내기'를 끈 기기도 들어가고, 사람과 잇지 않은 날 단위 합계입니다. 계정, 기기, 워크스페이스를 가리키는 칸은 없습니다. |
| 앱 사용 통계 | 데스크톱 앱과 모바일 앱이 서비스 개선을 위해 보내는 사용 기록: 일어난 일의 종류(앱 실행, 앱 안에서 연 화면, 에이전트 만들기, 승인 요청과 그 허락 · 거절, 오류, 일정 만들기 · 할 일 만들기와 끝내기 · 작업 만들기와 맡기기 · 루틴 같은 일, 작업 스레드에서 에이전트 실행이 끝난 것, 그리고 설치 뒤 첫 실행 · 첫 화면 · 첫 워크스페이스 · 첫 에이전트 만들기 · 에이전트의 첫 답 · 첫 위임(에이전트에게 처음 작업을 맡긴 것) 같은 이용 단계), 그 일에 딸린 정해진 낱말(화면의 종류, 에이전트 엔진의 종류와 템플릿에서 만들었는지, 승인 요청의 종류, 앱이 정한 오류 코드, 일의 종류와 그 일을 사람이 앱 화면에서 했는지 에이전트가 했는지, 실행이 끝난 상태(끝남 · 실패 · 멈춤 · 끊김) · 걸린 시간의 구간(1분 · 5분 · 15분 · 1시간 기준) · 실행을 부른 요청의 종류(주인만의 요청 · 다른 사람 글이 섞인 요청 · 예약 · 루틴)), 일어난 때(한 시간 단위로 줄여 저장합니다), 앱 종류 · 버전 · 운영체제 · 언어와 지역 설정(예: ko-KR), 그리고 설치마다 만든 무작위 값(30일마다 새로 만듭니다). 메시지 · 파일 · 문서 · 일정 · 할 일 · 작업의 내용이나 제목, 이름, 파일 경로, 주소, 오류 문장, 승인 요청의 대상(명령 · 파일 · 도구), 계정 · 기기 · 워크스페이스를 가리키는 값은 들어가지 않습니다. 앱은 보낼 때 기기 서명으로 진짜 앱임을 확인받지만, 서버는 그 기기 키를 이 기록이나 로그에 남기지 않습니다. |
| 오류 보고 | 앱(데스크톱 · 휴대폰)이나 서버에서 오류가 났을 때 그 오류의 종류, 정리한 오류 문장, 오류가 난 코드 위치(파일 · 함수 · 줄), 앱 버전과 운영체제의 종류. 보내기 전에 오류 문장에서 이메일 주소, 토큰 · 키, 경로 속 사용자 폴더 이름, 파일 이름, 주소(URL), 따옴표 안의 글과 한글 · 한자 · 가나로 쓴 글을 지우고 첫 줄 200자만 남깁니다. 요청 본문, 화면 내용, 실행 중인 프로그램의 변수 값은 싣지 않으며, 계정 · 기기 · 워크스페이스를 가리키는 칸은 없고, 보낸 곳의 IP 주소도 오류 보고에 남기지 않습니다. 앱은 설정의 '사용 통계 보내기'를 따릅니다 — 끄면 보내지 않고, 유럽경제지역(EEA) · 영국 · 스위스에서는 앱 안에서 동의한 경우에만 보냅니다. 회사가 직접 운영하는 서버(9절)에 보관하고, 받은 지 30일이 지나면 지웁니다. |
| 개선 참여 표본(선택) | 워크스페이스 관리자가 'Hardi 개선에 참여'를 켠 워크스페이스에서만 모읍니다. 기본은 꺼져 있습니다. 그 워크스페이스의 에이전트 역할 설명, 작업 제목, 일정 제목, 루틴 이름, 위키 페이지 제목을 한 줄씩(300자까지) 그 종류와 함께, 원래 글이 생기거나 바뀐 날과 모은 때. 최근 30일 안에 생기거나 바뀐 것(에이전트 역할 설명은 지금 있는 에이전트의 것)을 종류마다 200개까지, 팀 전체가 볼 수 있는 것만 모읍니다 — 개인 할 일 목록과 워크스페이스에 공개되지 않은 프로젝트의 작업, 개인 · 외부 캘린더와 비공개 일정, 나만 보거나 채널 · 프로젝트에 딸린 위키 페이지, 나만 쓰는 루틴은 넣지 않습니다. 메시지 · 파일 · 문서와 위키 페이지의 본문, 작업 메모, 일정 설명, 루틴 지시는 들어가지 않고, 누가 썼는지나 어느 작업 · 일정인지와 이어지는 값도 없습니다. 이 설정을 켜고 끈 관리자의 계정과 그 때도 기록합니다. |
| 접속 기록 | 서버에 접속할 때 남는 IP 주소, 요청 시각, 요청 주소, 응답 상태, 직전 페이지 주소, 브라우저나 앱의 식별 문자열(User-Agent). 앱 서버의 접속 기록에서는 주소 뒤 쿼리 문자열을 지우고 남기고, 서버 앞단 웹 서버의 접속 기록에는 요청 주소가 그대로 남습니다. 앱이 업데이트를 확인할 때도 같은 기록이 남습니다. 데스크톱 앱은 업데이트를 확인할 때 '사용 통계 보내기'가 켜져 있으면 앱 종류 · 운영체제 · 앱 버전을 함께 보냅니다(요청 머리 X-Hardi-Client — 유럽경제지역 · 영국 · 스위스이거나 지역을 알 수 없으면 앱 안에서 동의한 뒤에만). 설치 파일 받기와 업데이트 확인 · 받기는 날 · 플랫폼 · 버전별 수로만 셉니다(3절 '운영 집계'). 이 셈에서 IP 주소와 브라우저 · 앱의 식별 문자열은 같은 곳의 되풀이를 한 번으로 묶고 한 곳이 하루에 올리는 수를 제한하는 데에만 그날 서버 메모리에서 쓰며, 집계에도 앱 서버의 접속 기록에도 남기지 않습니다(앞단 웹 서버의 접속 기록은 위와 같습니다). |
Hardi AI는 키 입력, 화면 내용, 앱 전환, 근무 시간을 수집하지 않고, 프롬프트 내용을 측정에 쓰지 않습니다.
4. 이용 목적
- 워크스페이스 제공: 메시지 전달, 기기 사이 동기화, 검색, 캘린더와 작업 기능
- 사용자가 연결한 외부 서비스의 기능 제공
- 계정 · 기기 인증, 보안, 부정 이용 방지, 관리 행위 기록
- 좌석 사용량 집계, 유료 요금제의 좌석 수 계산과 청구, 세금계산서 발행
- 베타 소식 대기 명단: 신청할 때 동의한 사람에게 베타 · 출시 소식과 창립 팀 초대 메일 보내기
- 예비 고객 연락처: 창립 팀 · 제휴 제안 연락. 처음 연락은 소개, 회사가 열어 둔 제휴 · 문의 양식, 먼저 관심을 보인 경우에만 하고, 광고성 메일은 받는 사람이 동의한 경우에만 보냅니다. 처음 연락할 때 어디서 연락처를 봤는지와 그만 받는 법을 함께 적습니다.
회사는 개인정보를 광고에 쓰지 않고 판매하지 않습니다. 사람별 생산성 점수나 순위를 만들지 않고, 인사 평가나 자동화된 결정에 쓰지 않습니다.
회사 운영자는 가입 · 결제 · 지원 · 악용 대응과 서비스 개선을 위해 운영자 콘솔에서 다음을 볼 수 있습니다.
- 계정: 이메일 주소와 표시 이름, 가입일과 가입 수단, 언어, 마케팅 정보 수신 동의 여부와 동의한 약관 판, 처음 워크스페이스를 만든 날 · 에이전트가 처음 답한 날 · 계정 삭제를 요청한 날 같은 계정 기록의 날짜, 마지막으로 접속한 날짜, 기기의 운영체제와 앱 버전, 속한 워크스페이스와 그 역할
- 워크스페이스: 이름과 주소, 만든 날과 마지막 활동 날짜, 소유자의 이메일 주소, 요금제, 좌석 · 사람 · 손님 · 에이전트 수, 구독과 결제 내역(금액, 통화, 좌석 수, 결제 기간, 결제 대행사의 구독 · 거래 번호, 세금계산서 승인번호), 카드 결제의 영수증(결제 대행사가 만든 영수증에는 구매자 이름과 청구지 주소가 실립니다 — 운영자가 열 때마다 기록합니다), 소유권 넘김 기록(넘긴 사람과 받은 사람의 이메일 주소, 넘긴 날, 새 소유자의 카드 등록 여부와 기한), 워크스페이스 하나의 주별 사용 현황(앱을 켠 날 수, 활동한 사람 수, 기능별 사용 수 — 내용 · 제목 · 이름은 들어가지 않으며 운영자가 열 때마다 기록합니다), 워크스페이스 하나의 저장 사용량(대화 글 수와 그 크기, 첨부 파일 수와 그 크기의 합계 — 글 · 파일 내용은 들어가지 않습니다)
운영자 콘솔은 메시지 · 파일 · 문서의 내용, 채널 · 프로젝트 · 작업 · 일정의 이름, 기기에 붙인 이름을 보여 주지 않습니다. 예외는 아래의 신고된 글 하나와, 'Hardi 개선에 참여'를 켠 워크스페이스의 개선 참여 표본, 그리고 앱의 [의견 보내기]로 회사에 직접 보낸 글뿐입니다. 보낸 글은 운영자 처리함에서 읽고, 함께 보낸 그림은 비밀번호를 다시 확인한 운영자만 열며 열 때마다 그 사실을 기록합니다. 운영자가 계정이나 워크스페이스의 상세 정보를 열거나 무엇을 바꾸면, 그 사실을 앞뒤가 이어진 해시 체인으로 기록해 고쳐 쓰면 드러나게 합니다.
이용자가 글 · 사람 · 에이전트를 신고하면, 회사 운영자는 신고를 처리하기 위해 신고 대상과 신고 이유, 그 워크스페이스를 봅니다. 글을 신고한 경우에는 신고가 열려 있거나 닫힌 지 30일 안에 한해, 운영자가 비밀번호를 다시 확인한 뒤 신고된 그 글 하나를 열람할 수 있고, 열람할 때마다 그 사실을 기록합니다. 신고한 사람이 누구인지는 신고된 사람과 워크스페이스 관리자에게 알리지 않으며, 운영자 콘솔에도 보여 주지 않습니다.
서비스 운영을 위해 가입한 계정 수와 최근 7일 · 30일 동안 앱을 켠 사람 수 같은 서비스 전체의 집계 수를 날마다 기록합니다(3절의 '운영 집계'). 가입 뒤 이용 단계와 기능별 사용 수도 같은 방식으로 서비스 전체의 합계로 기록합니다. 배포와 업데이트가 잘 되는지 보려고 설치 파일 받기 · 업데이트 확인 · 업데이트 받기 수와 최근 1 · 7 · 30일 동안 연결한 기기 수(앱 종류 · 운영체제 · 앱 버전별)도 날마다 합계로 기록합니다 — 기기 수는 서비스를 제공하며 이미 남는 기록에서 세므로 '사용 통계 보내기'를 끈 기기도 들어갑니다. 이 기록에는 계정, 기기, 워크스페이스를 알아볼 수 있는 칸이 없고 서비스 전체의 합계만 들어갑니다.
서비스를 개선하기 위해 앱은 어떤 기능을 언제 얼마나 썼는지(예: 에이전트를 만든 횟수, 승인 요청 수, 연 화면의 종류, 오류 종류)를 회사에 보냅니다(3절의 '앱 사용 통계'). 여기에는 메시지 · 파일 · 문서의 내용이나 제목, 이름이 들어가지 않으며, 사람과 워크스페이스 대신 설치마다 만든 알아볼 수 없는 무작위 값만 함께 보냅니다. 앱은 이 기록을 5분마다 묶어 보내고, 보내지 못한 묶음은 다시 보내지 않고 버립니다. 설정에서 '사용 통계 보내기'를 끌 수 있으며, 끄면 그때부터 보내지 않고 그 기기가 보낸 기록을 지워 달라고 회사에 요청합니다. 유럽경제지역(EEA) · 영국 · 스위스에서는 앱 안에서 동의한 경우에만 보냅니다 — 기기의 언어와 지역 설정이나 시간대로 판단하고, 둘 다 알 수 없으면 보내기 전에 동의를 묻습니다. 휴대폰 앱은 기기의 시간대를 알아내지 못하면 지역 설정과 상관없이 먼저 동의를 묻습니다. 회사는 받은 기록을 서비스 전체의 주별 합계로 묶어 운영자 콘솔에서 봅니다. 데스크톱 앱이 업데이트를 확인할 때 함께 보내는 앱 종류 · 운영체제 · 버전(3절의 '접속 기록')도 이 설정과 동의를 그대로 따릅니다 — 끄거나 동의하기 전에는 보내지 않습니다.
워크스페이스 관리자가 'Hardi 개선에 참여'를 켜면, 그 워크스페이스의 에이전트 역할 설명, 작업 · 일정 · 루틴 이름, 위키 페이지 제목을 회사가 서비스 개선을 위해 볼 수 있습니다(3절의 '개선 참여 표본'). 메시지 · 파일 · 문서의 본문은 포함되지 않습니다. 끄면 그 뒤로는 받지 않고, 이미 받은 것은 30일 안에 지웁니다. 운영자가 볼 때마다 기록합니다. 이 설정은 기본으로 꺼져 있고 워크스페이스의 소유자와 관리자만 켜고 끌 수 있으며, 켜면 데스크톱 앱이 워크스페이스 멤버에게 한 번 알립니다. 운영자 콘솔에는 이 설정을 켠 워크스페이스와 켠 때, 표본을 마지막으로 모은 때와 종류별 표본 수가 보이고, 표본 글은 회사 운영자가 비밀번호를 다시 확인한 뒤 워크스페이스 하나씩 열어 볼 수 있습니다.
5. AI 모델과 에이전트
Hardi AI 서버는 AI 모델을 호출하지 않습니다.
에이전트는 사용자 컴퓨터에서 실행되고, 사용자가 직접 연결한 모델 공급자 계정(예: Claude 구독, ChatGPT 구독, 사용자가 넣은 API 키)으로 모델을 부릅니다. 이때 사용자가 맡긴 일에 필요한 내용(대화, 파일 내용, 연결한 서비스에서 읽은 정보, '화면 제어'를 켰다면 에이전트가 읽은 화면 내용)이 사용자 기기에서 그 공급자로 전송됩니다. 이 전송은 회사 서버를 거치지 않으며, 사용자와 그 공급자 사이의 약관과 개인정보처리방침을 따릅니다.
회사는 사용자 데이터로 AI 모델을 학습시키지 않습니다.
6. 보유 기간과 파기
- 계정 · 워크스페이스 정보와 워크스페이스 콘텐츠: 워크스페이스가 있는 동안 보관합니다. 앱에는 아직 워크스페이스 삭제 기능이 없어, 삭제는 14절의 문의처로 요청받아 처리합니다.
- 채널 메시지: 기간 제한 없이 보관합니다. 오래된 메시지를 자동으로 지우는 정리 작업은 운영 서버에서 아직 켜져 있지 않으며, 삭제는 14절의 문의처로 요청받아 처리합니다.
- 외부 서비스 연결: Google 계정이나 캘린더 구독(ICS) 연결을 끊으면 서버의 토큰과 구독 주소를 바로 지웁니다. Google 계정은 그 계정에서 온 사본과 검색 목록도 함께 지우며, 7절에 따로 적었습니다. 워크스페이스 소유자 · 관리자가 연결한 Slack · GitHub · GitLab · Gitea는 앱의 연결 화면에서 끊을 수 있습니다. 끊으면 회사 서버에 둔 그 서비스의 토큰을 바로 지우고, Slack · GitHub · GitLab에는 그 토큰의 철회도 요청합니다(Gitea는 철회를 받지 않아, 그 토큰은 회사 서버에서는 지워지지만 Gitea에서는 만료될 때까지 남습니다). GitLab · Gitea에서 읽어 온 항목은 끊을 때 검색 목록에서 빼며 다시 연결하면 되살아나고, Slack에서 읽어 온 항목(검색 목록과 요약, 아직 처리하지 않은 받은 알림, 이은 Slack 계정)은 끊을 때 회사 서버에서 지우며(Slack이 앱 제거를 알려 와도 같습니다), GitHub에서 읽어 온 항목은 워크스페이스 콘텐츠로 남습니다. 읽어 온 항목을 지우려면 14절의 문의처로 요청해 주세요. 멤버가 개인으로 연결한 토큰은 그 멤버가 워크스페이스에서 제거될 때 지우고, 그 밖에는 14절의 문의처로 요청하면 지웁니다.
- 멤버 제거: 워크스페이스에서 멤버가 제거되면 그 사람의 외부 서비스 토큰, 연결, 캘린더 서버 사본, 그 워크스페이스 서버에 올라간 Google 검색 목록을 함께 지웁니다.
- 지식 검색 목록: 폴더 공유 범위를 '이 기기만'으로 되돌리면 이미 올라간 목록을 서버에서도 지울지 묻습니다.
- 접속 기록: 워크스페이스 서버는 서비스마다 20MB 파일 5개까지 두고, 넘으면 오래된 것부터 지웁니다. 서버 앞단 웹 서버의 접속 기록은 자동으로 지우는 설정이 아직 없습니다. 회사가 서비스 상태를 살피려고 같은 서버(9절)에 두는 로그 저장소에도 각 서비스의 로그(접속 기록 포함)를 따로 모으며, 7일이 지나면 지웁니다.
- 감사 기록: 워크스페이스가 있는 동안 보관하며, 자동으로 지우지 않습니다.
- 회의 녹음(기기): 기본으로 30일이 지나면 기기에서 지웁니다.
- 백업: 2026년 10월 3일부터 데이터베이스와 첨부 파일을 매일 백업해 같은 서버의 다른 디스크에 둡니다. 최근 14일의 백업과 그보다 오래된 4주의 주별 백업 하나씩을 보관하고, 나머지는 지웁니다. 서버에서 지운 데이터는 그 백업이 지워질 때까지 백업에 남습니다.
- 요금제와 결제 기록: 대금 결제와 공급에 관한 기록은 전자상거래법과 세법에 따라 5년 동안 보관합니다.
- 신고와 차단: 신고 기록은 자동으로 지우지 않으며, 신고한 사람이 계정을 지워도 운영자 조치의 근거로 남습니다. 차단은 풀거나 차단한 사람의 계정이 지워지면 지웁니다.
- 회사 운영자의 열람 · 변경 기록: 덧붙이기만 할 수 있는 기록이라 고치거나 지울 수 없으며, 자동으로 지우지 않습니다.
- 운영 집계: 기한 없이 보관합니다.
- 앱 사용 통계: 90일이 지나면 지웁니다. 설정에서 보내기를 끄면 앱이 그 기기가 보낸 기록을 지워 달라고 요청하고, 서버는 받는 즉시 지웁니다(요청이 닿지 못하면 90일이 지나 지워집니다). 주별 합계는 운영 집계로 남습니다.
- 개선 참여 표본: 밤마다 새로 모아 바꾸고, 모은 지 30일이 지나면 지웁니다. 'Hardi 개선에 참여'를 끄면 그 워크스페이스의 표본을 그때 바로 지우고, 워크스페이스를 닫거나 지워도 함께 지웁니다. 계정을 지우면 그 사람이 속했던 워크스페이스의 표본도 지웁니다(설정이 켜져 있으면 다음 밤에 워크스페이스에 남은 것으로 다시 모읍니다). 이 설정을 켜고 끈 기록(켠 관리자의 계정 포함)은 워크스페이스가 있는 동안 남습니다.
- 오류 보고: 회사가 직접 운영하는 서버(9절)에 보관하고, 받은 지 30일이 지나면 지웁니다. 오류 보고에는 보낸 곳의 IP 주소를 남기지 않습니다(그 요청의 서버 접속 기록은 위 '접속 기록'을 따릅니다). 저장 공간이 정해 둔 크기에 닿으면 공간이 날 때까지 새 오류 보고를 받지 않습니다.
- 베타 소식 대기 명단: 받은 메일의 수신 거부 링크로 수신을 거부하면 지우고, 14절의 문의처로 지워 달라고 해도 바로 지웁니다. 둘 다 하지 않아도 정식 출시 뒤 1년(출시 뒤에 신청했다면 신청 뒤 1년)이 지나면 지웁니다. 다시 보내지 않도록 남기는 값(3절)은 그 주소로 다시 보내지 않는 데만 씁니다.
- 예비 고객 연락처: 마지막으로 고치거나 연락한 지 1년이 지나도록 함께 일하게 되지 않으면 연락처 · 출처 주소 · 메모를 지웁니다(회사 이름 · 웹사이트 같은 회사 정보만 남깁니다). 그만 연락해 달라고 하면 그날 바로 연락 금지로 두고, 지워 달라고 하면 바로 연락처 · 메모를 지운 뒤 다시 연락하지 않도록 바꾼 값(3절)만 남깁니다.
파기는 데이터베이스 행 삭제와 저장 파일 삭제로 합니다. 법령이 보존을 요구하는 정보는 그 기간 동안 보관합니다.
7. Google 사용자 데이터
Google 계정은 사용자가 앱의 연결 화면에서 직접 연결할 때만 연결됩니다. Google 캘린더를 연결하면 캘린더 권한과, 어느 계정을 연결했는지 표시하는 데 쓰는 기본 권한(openid, email)만 요청합니다. Google Tasks, Gmail, Drive, Meet, 시트 · 문서 기록은 각각 따로 켜는 선택 연결이고, 켠 기능의 권한만 추가로 요청합니다. 켜지 않은 기능의 Google 데이터에는 접근하지 않습니다.
| 권한 | 읽고 쓰는 것 | 쓰는 곳 | 저장 |
|---|---|---|---|
| openid, 이메일 주소(openid, email) | 읽기: 연결한 Google 계정의 이메일 주소. 쓰지 않습니다. | 어느 Google 계정을 연결했는지 표시 | 서버: 연결한 Google 계정 주소 |
| 캘린더 읽기 · 일정 쓰기(calendar.readonly, calendar.events) | 읽기: 캘린더 목록과 일정(제목, 설명, 장소, 회의 링크, 시각, 반복, 참석자, 주최자). 쓰기: 사용자나 사용자가 시킨 에이전트가 요청한 일정 만들기 · 고치기 · 지우기 · 참석 응답, 예약 링크로 잡힌 일정(예약한 사람이 입력한 이름과 이메일 주소가 참석자로 들어갑니다), 사용자가 참석자인 팀 일정의 사본(캘린더 설정에서 끌 수 있습니다). | 캘린더 화면, 빈 시간 찾기, 일정 알림, 일정 만들기와 고치기 | 서버: 일정 사본(제목, 설명, 장소, 회의 링크, 시각, 반복, 참석자, 주최자)과 본인만 보는 검색 목록(제목, 시각, 바쁨 여부). 기기: 같은 검색 목록. |
| Google Tasks(tasks) | 읽기: 할 일 목록과 할 일(제목, 메모, 기한, 완료 여부, 하위 항목, 순서). 쓰기: 사용자나 사용자가 시킨 에이전트가 Hardi AI에서 추가하거나 고치거나 지운 할 일을 Google Tasks에 반영합니다. | 할 일 화면, 할 일 가져오기와 되쓰기 | 서버: 할 일 사본(본인의 개인 목록) |
| Gmail 읽기 · 보내기(gmail.readonly, gmail.send) — 선택 연결 | 읽기: 메일의 제목, 날짜, 라벨, 크기와 보낸 사람 · 받는 사람 · 참조 주소(주소는 같은 메일을 가려내는 지문을 만드는 데만 쓰고 검색 목록에 저장하지 않습니다). 사용자가 에이전트에게 메일을 찾아 달라고 하면 기기에서 보낸 사람, 제목, 날짜, 미리보기 문장을 읽습니다. 사용자가 에이전트에게 답장을 맡기면 서버가 그 메일의 머리글(제목, 보낸 사람과 회신 주소, 메시지 ID, 스레드)만 읽어 답장 카드를 채웁니다. 메일 본문 전체는 요청하지 않습니다. 쓰기: 메일 보내기뿐입니다. 에이전트는 메일을 보내지 못하고, 받는 사람 · 제목 · 본문을 그대로 보여 주는 메일 카드만 세웁니다. 사용자가 그 카드에서 [보내기]를 누르면 그 메일 한 통만 사용자의 Gmail에서 보냅니다(답장이면 같은 스레드로). 사용자의 메일함에 보내지 않은 메일을 저장하거나 라벨을 바꾸거나 메일을 지우지 않습니다. | 본인만 보는 메일 검색 목록, 사용자가 메일 카드에서 [보내기]를 누른 메일 보내기와 답장 | 서버의 본인 전용 영역: 검색 목록의 제목, 날짜, 라벨, 크기, 지문(보낸 · 받는 사람 주소는 검색 목록에 저장하지 않습니다). 메일 카드: 받는 사람 · 참조 · 숨은 참조 주소, 제목, 보내는 Google 계정, 답장이면 원래 메일의 ID와 스레드. 카드의 본문은 카드가 열려 있는 동안만 서버에 두고, 보내거나 [보내지 않기]를 누르면 바로, 보내지 않은 채 만료(만든 지 7일)되면 하루 안에 지웁니다. 보낸 메일은 사용자의 Gmail 보낸편지함에 있고, 서버의 메일 카드에는 본문이 남지 않습니다. |
| Drive 읽기(drive.readonly, drive.metadata.readonly) — 선택 연결 | 읽기: 파일 이름, 형식, 크기, 시각, 권한 정보. 쓰지 않습니다. | 본인만 보는 파일 검색 목록. 볼 권한이 있는 문서만 검색되도록 권한 정보를 확인합니다. | 서버의 본인 전용 영역: 파일 이름, 형식, 크기, 시각, 권한 정보. 파일 내용은 저장하지 않습니다. |
| Meet 회의 기록(meetings.space.readonly) — 선택 연결 | 읽기: 회의 시작 · 종료 시각, 참가자 수. 참가자 이름과 주소는 받지 않습니다. 쓰지 않습니다. | 본인만 보는 회의 목록 | 서버의 본인 전용 영역: 회의 시작 · 종료 시각, 참가자 수. |
| 시트 · 문서 쓰기(spreadsheets, documents) — 선택 연결 | 쓰기: 확인 카드에서 사용자가 허락한 기록만 시트나 문서에 씁니다. | 사용자가 따로 켠 시트 · 문서 기록 기능 | 기기에서 씁니다. 서버에 저장하지 않습니다. |
서버 사본은 회사가 대한민국에서 직접 운영하는 워크스페이스 서버의 데이터베이스에 둡니다(9절). Google 연결의 갱신 토큰은 서버에만 암호화(AES-256-GCM)해 보관하고, 기기에는 최대 1시간 동안 쓰는 접근 토큰만 보냅니다. 캘린더와 Google Tasks의 동기화는 워크스페이스 서버가 Google과 직접 주고받습니다. 사용자가 에이전트에게 일정을 물으면 기기의 에이전트 도구가 그 접근 토큰으로 Google 캘린더의 일정(제목, 시작 · 끝 시각)을 직접 읽기도 합니다. 메일 보내기 권한(gmail.send)은 기기로 보내는 접근 토큰에 싣지 않습니다. 서버가 사용자가 [보내기]를 누른 메일을 보낼 때만 씁니다.
같은 워크스페이스 구성원(과 그 구성원이 쓰는 에이전트)에게는 기본으로 내 일정의 시간과 제목이 보입니다. 캘린더마다 '바쁨만' · '제목' · '세부 내용' 중에서 바꿀 수 있고, 워크스페이스 관리자도 이 설정을 넘어 볼 수 없습니다. 다만 워크스페이스 관리자는 새로 연결되는 캘린더에 적용되는 기본 공개 범위를 바꿀 수 있고, '세부 내용'으로 정해 둔 워크스페이스에서는 그 뒤에 연결한 캘린더의 설명 · 참석자 · 장소도 본인이 바꾸기 전까지 구성원에게 보입니다(이미 연결된 캘린더는 넓어지지 않습니다). Google에서 비공개로 표시한 일정은 다른 구성원에게 바쁨으로만 보입니다. Google Tasks에서 가져온 할 일은 본인의 개인 목록에 들어가며, 사용자가 팀 목록으로 옮기기 전에는 다른 구성원에게 보이지 않습니다.
사용자가 에이전트에게 일정이나 할 일이 필요한 일을 맡기면, 사용자 기기에서 실행되는 에이전트가 그 일에 필요한 Google 캘린더 · 할 일 정보를 사용자가 직접 연결해 둔 AI 모델 공급자(예: Claude를 제공하는 Anthropic, ChatGPT를 제공하는 OpenAI)에게 보냅니다. 이 전달은 그 사용자의 요청을 처리할 때만 일어나고, 사용자 기기에서 그 공급자로 바로 가며 회사 서버를 거치지 않습니다. 회사 서버는 AI 모델을 호출하지 않습니다.
예약 링크를 만들면 그 링크를 연 사람에게 예약할 수 있는 빈 시간만 보입니다. 일정의 제목과 내용은 보이지 않습니다. 이 절에 적은 경우와 법령에 따라 제출해야 하는 경우 말고는 Google 사용자 데이터를 누구와도 나누지 않습니다.
Hardi AI가 Google API에서 받은 정보를 사용하고 다른 앱으로 전송하는 것은 제한적 사용(Limited Use) 요구사항을 포함한 Google API 서비스 사용자 데이터 정책을 준수합니다. 정책 원문: https://developers.google.com/terms/api-services-user-data-policy
- Google 사용자 데이터는 사용자에게 보이는 Hardi AI 기능을 제공하거나 개선하는 데만 씁니다.
- 광고(맞춤형 · 재타기팅 · 관심 기반 광고 포함)에 쓰지 않습니다.
- 판매하지 않습니다.
- 신용도 판단이나 대출 목적으로 쓰지 않습니다.
- 일반화된 AI · 머신러닝 모델을 개발하거나 개선하거나 학습시키는 데 쓰지 않습니다.
- 사람이 읽지 않습니다. 예외는 사용자가 특정 항목에 명시적으로 동의한 경우, 보안 목적(예: 악용 조사)에 필요한 경우, 법령을 지키기 위해 필요한 경우, 내부 운영을 위해 익명 · 집계 처리한 경우뿐입니다.
- 다른 곳으로 전송하는 것은 사용자가 요청한 기능에 필요한 경우(예: 사용자가 연결한 AI 모델 공급자로 사용자 기기에서 보내는 경우), 법령을 지키기 위한 경우, 합병 · 인수 · 자산 매각 때 사용자에게 먼저 알리고 동의를 받은 경우뿐입니다.
보관과 삭제: Google에서 받은 일정과 할 일의 사본은 연결이 유지되는 동안 보관하고, Google에서 바뀌거나 지워진 것은 동기화 때 사본에 반영합니다. 앱의 연결 화면에서 Google 계정 연결을 끊으면 서버의 토큰, 그 계정의 캘린더와 일정 사본, Google Tasks에서 가져온 할 일 사본을 바로 지우고, Google에 권한 철회를 요청합니다. 같은 Google 계정을 다른 워크스페이스나 다른 구성원이 연결해 두었으면 Google 쪽 철회는 마지막 연결을 끊을 때 합니다. 워크스페이스에서 멤버가 제거될 때도 같은 삭제가 이루어집니다. Google 계정 설정(https://myaccount.google.com/permissions)에서도 권한을 거둘 수 있으며, 그곳에서만 거둔 경우 서버 사본은 앱에서 연결을 끊을 때 지워집니다. Gmail 메일 카드(받는 사람, 제목, 보낸 메일 ID)는 그 사용자만 보는 기록으로, 카드가 닫힌 뒤(보냄, 보내지 않기, 만료) 90일이 지나면 하루 안에 지웁니다. 그 전이라도 워크스페이스에서 멤버가 제거되거나 계정이나 워크스페이스를 지울 때 함께 지웁니다.
검색 목록과 삭제 요청: 앱에서 Google 계정 연결을 끊으면, 연결을 끊은 워크스페이스 서버의 본인 전용 영역에 올라간 그 계정의 검색 목록(캘린더 · Gmail · Drive · Meet)도 토큰 · 사본과 함께 바로 지웁니다. 그때 다 지우지 못한 것은 서버가 이어서 자동으로 지웁니다. 기기에 있는 검색 목록은 앱이 다음 동기화 때 검색에서 뺍니다. 그 워크스페이스에서 마지막 Google 계정까지 끊으면, 최신 판 앱은 삭제가 서버에 닿은 것을 확인한 뒤 기기에서도 지웁니다(이전 판 앱은 검색에서만 빼며, 기기에 남은 삭제 표시 행은 앱 데이터 폴더를 지우면 없어집니다). Google 계정을 둘 이상 연결해 두고 하나만 끊으면 서버에서는 그 계정의 것만 지웁니다. 다만 어느 계정에서 왔는지 표시가 없는 예전 Gmail · Drive · Meet 검색 목록은 마지막 Google 계정을 끊을 때 지우고, 기기의 검색 목록은 검색에서 뺀 채 두었다가(최신 판 앱) 마지막 Google 계정을 끊을 때 지웁니다. 다음 두 경우는 자동으로 지워지지 않으며 14절의 문의처로 요청하면 지웁니다: 이 기능이 적용되기 전에 연결을 끊은 계정의 검색 목록이 서버에 남아 있는 경우, 그리고 여러 워크스페이스에 참여해 앱이 연결을 끊은 워크스페이스가 아닌 다른 워크스페이스의 서버에 올려 둔 검색 목록 사본이 있는 경우. 연결을 끊지 않고 특정 Google 데이터의 삭제를 원할 때도 같은 문의처로 요청할 수 있습니다. 서버에서 지운 데이터는 6절의 백업 보관 기간이 지나면 백업에서도 없어집니다.
9. 처리 위탁과 국외 이전
회사는 이 절에 적은 것(휴대폰 알림 전달, Android 앱의 QR 코드 스캐너 진단, 로그인 코드와 서비스 안내 메일 발송(베타 소식 메일 포함), 웹사이트 방문 통계, 카드 결제)을 빼고는 개인정보 처리를 외부 업체에 맡기지 않습니다. 워크스페이스 서버, 데이터베이스, 파일 저장소, 백업은 회사가 대한민국에 둔 자체 서버에서 직접 운영합니다.
Cloudflare는 hardiai.com의 도메인 이름 풀이(DNS)에만 씁니다. 사용자의 요청과 데이터는 Cloudflare를 거치지 않고 회사 서버로 바로 갑니다.
회사가 국외로 보내는 개인정보는 이 절에 적은 것뿐입니다. 사용자가 직접 연결한 AI 모델 공급자와 외부 서비스로 가는 전송은 사용자와 그 공급자 사이에서 일어납니다.
iOS 앱의 알림은 Apple Inc.(미국)의 푸시 알림 서비스(APNs)로 전달합니다. Apple에 보내는 것은 기기의 푸시 토큰과 내용이 없는 고정된 깨우기 신호뿐이고, 알림 문장은 앱이 워크스페이스 서버에서 직접 받아 옵니다. Android 앱의 알림은 Google LLC(미국)의 Firebase Cloud Messaging(FCM)으로 전달하며, Google에 보내는 것도 기기의 푸시 토큰과 내용이 없는 깨우기 신호뿐입니다. 두 경우 모두 알림을 보낼 때마다 인터넷으로 전송됩니다.
Android 앱의 QR 코드 스캐너는 Google LLC(미국)의 ML Kit 바코드 스캐닝(com.google.mlkit:barcode-scanning)을 씁니다. 코드는 앱에 들어 있는 모델이 기기 안에서 읽고, 카메라 영상과 읽은 QR 코드의 내용은 Google에 보내지 않습니다. 다만 스캐너를 열어 쓰면 ML Kit이 진단 정보를 Google에 보냅니다. 넘어가는 항목은 기기 정보(제조사, 모델, OS 판과 빌드, 쓸 수 있는 ML 하드웨어 가속기), 앱 정보(패키지 이름, 앱 판), 사용자나 기기를 알아보려는 것이 아닌 설치별 식별자, 처리 시간 같은 성능 수치, 스캐너 설정(이미지 형식, 해상도), ML Kit 기능의 판과 입력 · 출력 크기, 동작 종류와 오류 코드이고, HTTPS로 암호화해 인터넷으로 전송됩니다. Google은 이 정보를 ML Kit의 진단과 사용 분석에 쓰며 제3자에게 넘기지 않고, 보유 기간은 Google이 정합니다. QR 코드 스캐너를 쓰지 않고 [페어링 코드로 연결]로도 연결할 수 있습니다. iOS 앱의 스캐너는 기기에 내장된 Apple의 기능을 쓰며 ML Kit을 쓰지 않습니다.
웹사이트(www.hardiai.com) 방문 통계는 Google LLC(미국)의 Google Analytics로 처리합니다. 넘어가는 항목은 방문한 페이지 주소, 들어온 경로, 브라우저 · 기기 정보, 쿠키 식별자, IP 주소(대략의 지역 추정에 쓰입니다)이고, 방문할 때 인터넷으로 전송됩니다. 보유 기간은 Google Analytics 속성의 데이터 보관 설정을 따르며, 설정값은 14절의 문의처로 요청하면 알려 드립니다.
로그인 코드와 서비스 안내 메일은 Plus Five Five, Inc.(미국 · 2261 Market Street #5039, San Francisco, CA 94114 · support@resend.com)의 메일 발송 서비스 Resend로 보냅니다. 서비스 안내 메일은 결제 · 요금제 · 좌석 안내, 계정과 워크스페이스 삭제 안내, 워크스페이스 소유권 넘김 안내이고, 워크스페이스 소유자 · 관리자가 앱에서 [메일로 보내기]를 누르면 워크스페이스 초대 메일을 초대받는 사람의 주소로 보내며, 회사 운영자에게 가는 운영 알림 메일(신고 접수, 계정 삭제 요청 등)도 같은 길로 보냅니다. 웹사이트에서 베타 소식을 신청한 사람에게 가는 신청 확인 메일(수신 동의 결과 알림)과 소식 · 창립 팀 초대 메일도 같은 길로 보냅니다. 넘어가는 항목: 받는 사람의 이메일 주소, 메일의 제목과 본문(로그인 코드나 워크스페이스 주소 · 날짜 같은 안내 내용), 메일의 종류와 언어. 이전 국가 · 시기 · 방법: 미국과 Resend가 메일 발송에 쓰는 국가로, 메일을 보낼 때마다 인터넷(HTTPS)으로 전송됩니다. 이용 목적: 메일 발송. 보유 기간: Resend의 보관 기간을 따르며, 회사가 Resend 이용을 끝내면 Resend는 90일 안에 지웁니다(Resend 데이터 처리 부속서 https://resend.com/legal/dpa). 이 이전을 원하지 않으면 이메일 코드로 가입 · 로그인할 수 없고, 서비스 안내 메일과 베타 소식 메일을 받을 수 없습니다.
카드 결제는 아직 열리지 않았고, 지금 Paddle로 넘어가는 정보는 없습니다. 카드 결제가 열리면 다음과 같이 처리합니다. 카드 결제는 회사의 판매 대행사 Paddle.com Market Limited(영국 · 30 Old Bailey, London EC4M 7AU · privacy@paddle.com)가 판매자로서 처리합니다. 넘어가는 항목: 구매자의 이름, 이메일, 국가(청구지), 결제 수단 정보는 결제 화면에서 Paddle이 직접 받고, 회사는 결제를 워크스페이스에 잇기 위한 워크스페이스 식별자와 좌석 수, 결제 고객을 정하기 위한 워크스페이스 소유자 계정의 이메일 주소를 보냅니다. 회사는 카드 번호를 받지 않습니다. 이전 국가 · 시기 · 방법: 영국과 Paddle이 결제 처리에 쓰는 국가로, 결제 페이지를 열 때 인터넷으로 전송됩니다. 이용 목적: 결제 처리, 세금 계산과 신고, 영수증 발행, 환불, 부정 결제 방지. 보유 기간: Paddle의 개인정보 고지(https://www.paddle.com/legal/privacy)에 따라 관련 법령이 정한 기간. 이전을 원하지 않으면 카드로 결제하지 않고 세금계산서(계좌이체) 결제를 요청할 수 있으며, 그 경우 Paddle로 넘어가는 정보는 없습니다.
10. 이용자의 권리와 행사 방법
이용자는 언제든지 자기 개인정보의 열람, 정정, 삭제, 처리 정지, 동의 철회를 요구할 수 있습니다. 만 14세 미만 아동의 법정대리인도 같은 권리를 가집니다.
앱에서 직접 할 수 있는 일은 다음과 같습니다.
- Google 계정과 캘린더 구독(ICS) 연결 끊기
- 감시 폴더의 공유 범위 바꾸기와 이미 올라간 목록 지우기
- 회의 녹음 보관 기간 바꾸기
- 캘린더별 공유 수준 바꾸기
- 앱 사용 통계 보내기 끄기(끄면 그 기기가 보낸 기록도 지워 달라고 요청합니다)
- 워크스페이스 소유자 · 관리자: 'Hardi 개선에 참여' 켜기 · 끄기(끄면 그 워크스페이스의 표본을 지웁니다)
- 워크스페이스 소유자 · 관리자: Slack · GitHub · GitLab · Gitea 연결 끊기(끊으면 회사 서버의 토큰을 지웁니다 — 6절)
베타 소식 대기 명단은 받은 메일마다 있는 수신 거부 링크로 언제든 빠질 수 있고, 14절의 문의처로 지워 달라고 해도 바로 지웁니다. 신청하지 않거나 빠져도 Hardi AI를 쓰는 데 불이익은 없습니다.
예비 고객 연락처로 연락을 받은 분은 연락처를 어디서 봤는지 물을 수 있고(처음 연락할 때도 적습니다), 받은 메시지에 답하거나 14절의 문의처로 연락을 멈추거나(그날 바로) 지워 달라고 할 수 있습니다.
그 밖의 요청은 14절의 문의처로 보내 주세요.
회사나 단체가 운영하는 워크스페이스에서는 그 조직이 구성원 정보를 관리할 수 있으므로, 요청을 그 조직에도 보낼 수 있습니다.
회사는 자동화된 결정을 하지 않습니다.
11. 안전성 확보 조치
- 앱과 서버 사이 통신은 TLS로 암호화합니다.
- 외부 서비스 토큰과 캘린더 구독 주소는 AES-256-GCM으로 암호화하고, 워크스페이스와 연결 단위로 묶어 다른 행에 옮기면 풀리지 않게 합니다.
- Google 갱신 토큰은 기기로 보내지 않습니다.
- 기기의 신원 열쇠는 운영체제 키체인에 둡니다(Windows는 그 사용자 계정으로만 풀리는 DPAPI 암호화 파일).
- 서버 데이터를 워크스페이스별로 나누고, 역할에 따라 접근을 제한합니다.
- 관리 행위를 앞뒤가 이어진 해시 체인으로 기록해, 고쳐 쓰면 드러나게 합니다.
- 로그인 접근 토큰은 15분, 갱신 토큰은 30일로 제한합니다.
13. 아동
Hardi AI는 팀 업무용 서비스이며 만 14세 미만 아동을 대상으로 하지 않습니다. 가입할 때 나이를 확인하는 절차는 없습니다. 만 14세 미만 아동의 개인정보가 저장된 것을 알려 주시면 14절의 문의처로 요청받아 지웁니다.
14. 개인정보 보호책임자와 문의처
- 개인정보 보호책임자: 허빈(대표)
- 문의: deviantcemaster@gmail.com
- 우편: 서울특별시 송파구 백제고분로41길 8-11, 401호 (05621) 디비안츠
개인정보 침해에 대해서는 다음 기관에 상담하거나 신고할 수 있습니다.
- 개인정보분쟁조정위원회: 1833-6972 (https://www.kopico.go.kr)
- 개인정보침해신고센터: 118 (https://privacy.kisa.or.kr)
- 대검찰청: 1301 (https://www.spo.go.kr)
- 경찰청: 182 (https://ecrm.police.go.kr)
15. 방침 변경
이 방침을 바꾸면 바뀐 내용과 시행일을 이 페이지에 알립니다.
시행일: 2026년 10월 14일