하루한장
DAILY PLAN

⚙️ 초기 설정이 필요해요

config.js 파일에 Supabase 프로젝트의 URL과 anon 키를 아직 입력하지 않았습니다.

함께 제공된 배포가이드.md의 순서대로 Supabase 프로젝트를 만들고 키를 붙여넣은 뒤 새로고침해 주세요.

하루한장
DAILY PLAN

로그인

아직 계정이 없나요? ·

가입 신청

신청 후 관리자 승인이 완료되면 이용할 수 있습니다.

이미 계정이 있나요?
하루한장
DAILY PLAN

새 비밀번호 설정

새로 사용할 비밀번호를 입력해 주세요.

하루한장
DAILY PLAN
⏳
계정의 가입 신청이 접수되었어요.
관리자가 승인하면 바로 이용할 수 있습니다.
승인 후 다시 로그인해 주세요.
하루한장 · DAILY PLAN

일정

할 일

오늘의 회고

주간 통계

인사이트

진척도 기록

+ 새 목표 추가

습관 트래커

칸을 탭할 때마다 완료 ✓ → 쉼(파란색) → 빈칸 순으로 바뀌어요. 쉼으로 표시한 날은 연속 기록이 끊기지 않아요.

관리자 콘솔

내 계정

달력 표시

월간 보기 시작 요일

월 단위로 일정을 볼 때 한 주가 어느 요일부터 시작할지 선택하세요.

알림

일정 알림

일정 등록 시 설정한 시점에 알림을 받아요. 홈 화면에 추가한 뒤 여기서 알림을 켜면, 앱을 닫아둔 상태에서도 알림이 도착해요. (iPhone은 iOS 16.4 이상, 반드시 홈 화면에 추가한 뒤 그 아이콘으로 열어서 켜야 해요)

알림 상태 확인 중…

지금은 Safari 브라우저 탭이에요. 공유 버튼 → "홈 화면에 추가"로 설치한 뒤, 그 아이콘으로 다시 열어서 알림을 켜주세요.

습관 체크 리마인더

정한 시각까지 오늘 습관 중 체크 안 한 게 있으면 알림을 보내드려요. 다 체크했으면 알림이 안 와요. 비워두면 꺼져요. (위 "일정 알림"이 켜져 있어야 동작해요)

구글 캘린더 연동

양방향 동기화

하루한장에 일정을 추가·수정·삭제하면 구글 캘린더에도 바로 반영돼요. 구글 캘린더 쪽에서 넣은 일정은 자동으로 넘어오지 않고, 아래 "최신 데이터 가져오기"를 누른 시점에만 가져와요.

연결 상태 확인 중…

반복 일정

매주 특정 요일에 반복되는 일정을 등록해요 (예: 매주 월요일 헬스). 하루 화면에서 그 날짜만 지우면 그 날만 건너뛰고, 반복 자체를 멈추려면 아래 목록에서 삭제하면 돼요. (개별 회차의 시간·제목만 따로 바꾸는 건 아직 지원 안 해요)

+ 새 반복 일정 추가

가져오기 · 백업

캘린더 가져오기 (.ics) — iPhone·구글 캘린더

iPhone: 캘린더 앱에서 캘린더 공유 → ".ics 파일로 보내기"로 저장
구글 캘린더: PC에서 calendar.google.com → 설정 ⚙ → "가져오기/내보내기" → 내보내기 → 받은 zip의 압축을 풀면 .ics 파일이 나와요
저장한 .ics 파일을 아래에서 선택하면 일정이 날짜별로 들어옵니다. (반복 일정은 첫 회차만 가져와요)

캘린더 내보내기 (.ics)

내 일정을 표준 캘린더 파일(.ics)로 내려받습니다. iPhone 캘린더, 구글 캘린더 등 다른 캘린더 앱에서 그대로 가져올 수 있어요. (반복 일정도 함께 내보내요)

데이터 백업 / 복원

데이터는 서버에 저장되어 어느 기기에서든 같은 계정으로 보입니다. 그래도 만일에 대비해 JSON 백업을 받아둘 수 있어요.

홈 화면에 추가

  • iPhone — Safari에서 이 페이지를 연 뒤 공유 버튼 → "홈 화면에 추가"를 누르면 홈화면에서 앱처럼 쓸 수 있어요.
  • Android — Chrome에서 이 페이지를 연 뒤 우측 상단 메뉴(⋮) 탭 클릭 → "홈 화면에 추가" 선택 (기기에 따라 "앱 설치"로 표시되기도 합니다) → 이름 확인 후 "추가"를 누르시면, 마찬가지로 홈화면에서 앱처럼 쓸 수 있어요.

초기화

내 플래너 기록을 모두 삭제합니다. 계정은 그대로 남아요. 되돌릴 수 없어요.

개인정보 · 계정

개인정보처리방침

어떤 정보를 왜 저장하는지, 어떻게 지울 수 있는지 정리했어요.

계정 삭제

계정과 모든 데이터(일정·할 일·습관·목표·회고, 알림 구독, 구글 캘린더 연동)를 서버에서 영구히 삭제합니다. 되돌릴 수 없고, 같은 이메일로 다시 쓰려면 새로 가입해야 해요.

개인정보처리방침

시행일 2026-08-26 · 최종 업데이트 2026-08-26

하루한장(이하 "서비스")은 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보처리방침을 수립·공개합니다.

제1조 (개인정보의 처리 목적)

서비스는 다음의 목적으로 개인정보를 처리하며, 처리하는 개인정보는 다음의 목적 이외의 용도로는 이용하지 않습니다. 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행합니다.

  1. 회원 가입 및 관리 — 회원 가입 의사 확인, 본인 식별·인증, 회원자격 유지·관리, 서비스 이용 승인 여부 확인, 비밀번호 재설정
  2. 서비스 제공 — 이용자가 입력한 플래너 기록(일정·할 일·습관·목표·회고)의 저장 및 여러 기기 간 동기화
  3. 알림 발송 — 이용자가 직접 설정한 시점에 일정·할 일·습관 리마인더를 푸시 알림으로 발송
  4. 외부 캘린더 연동 — 이용자가 직접 연동을 요청한 경우에 한해 구글 캘린더와 일정을 주고받음
  5. 서비스 운영 및 안정성 확보 — 부정 이용 방지, 오류 원인 파악 및 대응

제2조 (처리하는 개인정보의 항목)

1. 회원 가입 시 (필수)

구분항목
이용자 입력이메일 주소, 비밀번호, 표시 이름
자동 생성계정 식별자(UUID), 가입 일시, 이메일 인증 일시, 최근 로그인 일시, 이용 승인 여부, 이용자 구분(일반/관리자)

※ 비밀번호는 복호화가 불가능한 단방향 암호화 방식으로 저장되며, 운영자를 포함한 누구도 원래 값을 확인할 수 없습니다.

2. 서비스 이용 과정에서 이용자가 직접 입력·생성하는 정보 (필수)

  • 일정 — 제목, 날짜, 시작 시간, 종료 시간, 종료일(여러 날에 걸친 일정), 장소, 메모, 알림 시점, 색상 태그
  • 반복 일정 — 제목, 요일, 시작 시간, 종료 시간, 시작일, 제외 날짜, 색상 태그
  • 할 일 — 내용, 날짜, 완료 여부, 알림 시각
  • 습관 — 습관 이름, 날짜별 체크 기록, 주 목표 횟수, 습관 시작일
  • 진척도 목표 — 목표 이름, 저자(독서 목표인 경우), 목표량, 단위, 현재 진척, 진척 기록 이력, 연동한 습관 정보
  • 회고 기록 — 날짜별로 작성한 회고 내용
  • 알림 설정 — 습관 리마인더 시각

※ 외부 캘린더에서 가져오거나 연동한 일정에는 원본을 식별하기 위한 외부 식별자(구글 캘린더 일정 ID, .ics 파일의 일정 ID)가 함께 저장됩니다.

3. 알림 시각을 설정한 경우 (선택)

  • 알림 발송 기록 — 계정 식별자, 알림을 보낸 항목의 식별자, 알림 종류, 발송 일시 (동일한 알림이 중복 발송되는 것을 막기 위해 저장합니다)

※ 이 기록은 푸시 알림을 켜지 않은 경우에도, 일정·할 일에 알림 시각을 설정해 두었다면 같은 알림을 반복해서 처리하지 않기 위해 생성됩니다.

4. 푸시 알림을 켠 경우에만 (선택)

  • 브라우저 푸시 구독 정보 — 구독 주소(endpoint), 암호화 키(p256dh, auth)

5. 구글 캘린더 연동을 켠 경우에만 (선택)

  • 구글 캘린더 접근용 갱신 토큰(refresh token), 연동 대상 캘린더 식별자
  • 연동한 캘린더의 일정 정보

6. 서비스 이용 과정에서 자동으로 생성·기록되는 정보

  • 인프라 제공사(제5조의 수탁자)의 시스템 로그에 접속 IP 주소, 접속 일시, 요청 내역 등이 자동으로 기록될 수 있습니다. 서비스는 이 로그를 별도로 수집·분석하거나 이용자와 결합하여 활용하지 않습니다.

7. 수집하지 않는 정보

서비스는 위치정보, 연락처, 주소록, 사진·미디어 파일, 광고 식별자, 결제 정보, 주민등록번호를 비롯한 고유식별정보를 일절 수집하지 않습니다. 또한 이용 기록을 분석 도구나 광고 네트워크로 전송하지 않으며, 광고를 게재하지 않습니다.

제3조 (개인정보의 처리 및 보유 기간)

서비스는 법령에 따른 개인정보 보유·이용 기간 또는 정보주체로부터 개인정보를 수집 시에 동의받은 개인정보 보유·이용 기간 내에서 개인정보를 처리·보유합니다.

처리 항목보유 기간
회원 계정 정보회원 탈퇴 시까지
플래너 기록이용자가 삭제하거나 회원 탈퇴 시까지
알림 발송 기록발송 후 30일 (매일 자동 삭제)
푸시 구독 정보알림 해제, 구독 만료, 또는 회원 탈퇴 시까지 (구독이 만료된 것으로 확인되면 자동 삭제)
구글 캘린더 토큰연동 해제 또는 회원 탈퇴 시까지

서비스는 「통신비밀보호법」·「전자상거래 등에서의 소비자보호에 관한 법률」 등에 따른 법정 보존 의무 대상 정보를 별도로 보관하지 않습니다.

제4조 (개인정보의 제3자 제공)

서비스는 정보주체의 개인정보를 제1조에서 명시한 범위 내에서만 처리하며, 정보주체의 동의, 법률의 특별한 규정 등 「개인정보 보호법」 제17조 및 제18조에 해당하는 경우에만 개인정보를 제3자에게 제공합니다.

서비스는 개인정보를 판매하거나 광고 목적으로 제공하지 않습니다.

이용자가 직접 구글 캘린더 연동을 켠 경우, 해당 기능 수행에 필요한 범위에서 일정 정보가 구글과 주고받아집니다. 연동은 언제든지 설정에서 해제할 수 있습니다.

제5조 (개인정보 처리업무의 위탁)

수탁자위탁 업무 내용보유·이용 기간
Supabase회원 인증, 데이터베이스 호스팅, 알림 발송을 위한 서버리스 함수 실행위탁계약 종료 시 또는 회원 탈퇴 시까지
Netlify앱 화면 파일의 정적 호스팅 (개인정보를 저장하지 않음)위탁계약 종료 시까지

서비스는 위탁계약 체결 시 개인정보가 안전하게 관리될 수 있도록 필요한 사항을 규정하고, 수탁자가 개인정보를 안전하게 처리하는지를 감독합니다. 위탁 업무의 내용이나 수탁자가 변경될 경우 지체 없이 본 개인정보처리방침을 통하여 공개하겠습니다.

제6조 (개인정보의 국외 이전)

서비스는 「개인정보 보호법」 제28조의8에 따라 다음과 같이 개인정보를 국외로 이전합니다.

이전받는 자국가이전 항목이전 방법이용 목적보유 기간
Supabase Inc.미국 (데이터 저장 리전: 대한민국 서울)제2조의 전 항목서비스 이용 시 네트워크를 통한 전송인증 및 데이터 저장·처리회원 탈퇴 시까지
Netlify Inc.미국접속 로그(IP 주소 등)접속 시 자동 전송앱 화면 파일 전송위탁계약 종료 시까지 (제공사의 로그 보관 정책에 따름)
Google LLC미국연동한 일정 정보이용자가 연동을 켠 경우 API를 통한 전송구글 캘린더 연동연동 해제 시까지
브라우저 제조사의 푸시 서비스 (Google, Apple, Mozilla 등)미국 등푸시 구독 주소, 암호화된 알림 내용알림 발송 시 전송푸시 알림 전달전달 후 즉시 폐기

※ 푸시 알림의 내용(일정 제목 등)은 이용자 기기의 키로 암호화되어 전달되므로, 중계하는 푸시 서비스는 알림 내용을 열람할 수 없습니다.

정보주체는 국외 이전을 거부할 수 있으며, 이 경우 알림·연동 기능 등 해당 기능의 이용이 제한될 수 있습니다.

제7조 (개인정보의 파기 절차 및 방법)

  1. 서비스는 개인정보 보유 기간의 경과, 처리 목적 달성 등 개인정보가 불필요하게 되었을 때에는 지체 없이 해당 개인정보를 파기합니다.
  2. 회원 탈퇴(계정 삭제) — 설정 → 개인정보·계정 → '계정 영구 삭제' 를 실행하면, 본인 확인(계정 이메일 입력) 후 계정과 모든 데이터가 즉시 서버에서 영구 삭제됩니다. 별도의 요청이나 대기 기간이 없습니다. 삭제되는 범위는 계정 정보, 플래너 기록, 알림 구독 정보, 알림 발송 기록, 구글 캘린더 연동 정보 일체입니다.
  3. 플래너 기록만 삭제 — 계정은 유지한 채 기록만 지우려면 설정 → 초기화 → '내 데이터 전체 삭제' 를 실행하면 됩니다.
  4. 보유 기간 경과에 따른 자동 파기 — 알림 발송 기록은 발송 후 30일이 지나면 매일 자동으로 삭제되고, 만료된 것으로 확인된 푸시 구독 정보는 발송 시도 시점에 삭제됩니다.
  5. 앱을 이용할 수 없는 상황 등으로 직접 삭제가 어려운 경우, 제12조의 개인정보 보호책임자 연락처로 요청하시면 본인 확인 후 지체 없이 처리합니다.
  6. 파기 방법 — 전자적 파일 형태로 저장된 개인정보는 복구·재생할 수 없도록 데이터베이스에서 영구 삭제합니다.

제8조 (정보주체와 법정대리인의 권리·의무 및 그 행사 방법)

  1. 정보주체는 서비스에 대해 언제든지 개인정보 열람·정정·삭제·처리정지·동의 철회를 요구할 수 있습니다.
  2. 권리 행사는 앱 내 기능을 통해 직접 하실 수 있습니다.
    • 열람·정정: 각 화면에서 본인이 입력한 기록을 직접 확인·수정
    • 삭제: 설정 → 초기화(기록 삭제) / 설정 → 개인정보·계정 → 계정 영구 삭제(전체 삭제)
    • 동의 철회: 설정에서 알림 해제, 구글 캘린더 연동 해제
  3. 정보주체는 설정 → 가져오기·백업 → '백업 내려받기' 로 본인의 전체 데이터를 JSON 파일로 내려받을 수 있으며, '.ics 파일 내려받기' 로 일정을 표준 캘린더 형식으로 가져갈 수 있습니다.
  4. 앱 화면에서 직접 확인할 수 없는 항목(알림 발송 기록 등)의 열람을 원하시는 경우, 제12조의 연락처로 요청하시면 본인 확인 후 제공합니다.
  5. 제12조의 연락처로 서면·전자우편 등을 통하여 요청하실 수도 있으며, 서비스는 이에 대해 지체 없이 조치하겠습니다.
  6. 권리 행사는 정보주체의 법정대리인이나 위임을 받은 자 등 대리인을 통하여 하실 수 있습니다. 이 경우 「개인정보 처리 방법에 관한 고시」 별지 제11호 서식에 따른 위임장을 제출하셔야 합니다.
  7. 개인정보 열람 및 처리정지 요구는 「개인정보 보호법」 제35조 제4항, 제37조 제2항에 의하여 정보주체의 권리가 제한될 수 있습니다.

제9조 (개인정보의 안전성 확보조치)

서비스는 「개인정보 보호법」 제29조에 따라 다음과 같은 안전성 확보조치를 취하고 있습니다.

  1. 전송 구간 암호화 — 앱과 서버 사이의 모든 통신은 HTTPS로 암호화됩니다.
  2. 비밀번호의 일방향 암호화 — 비밀번호는 복호화할 수 없는 형태로 저장됩니다.
  3. 접근 통제(행 수준 보안, RLS) — 데이터베이스에 행 수준 보안이 적용되어 있어, 이용자가 입력한 플래너 기록은 본인 계정으로만 접근할 수 있으며 관리자도 열람할 수 없습니다. 알림 발송 기록에는 어떠한 이용자 계정으로도 접근할 수 없도록 설정되어 있습니다.
  4. 관리자의 접근 범위 — 가입 승인 및 이용 제한 처리를 위하여, 관리자 권한을 가진 계정은 회원의 이메일 주소·표시 이름·가입 일시·승인 상태를 열람할 수 있고, 가입 승인·차단 및 비밀번호 재설정 메일 발송을 수행할 수 있습니다. 플래너 기록에는 접근할 수 없습니다.
  5. 알림 발송을 위한 자동 처리 — 정해진 시각에 알림을 보내기 위하여, 서버의 알림 발송 프로그램이 알림 설정이 있는 기록의 시각 정보를 자동으로 대조합니다. 이는 사람의 열람 없이 기계적으로만 수행되며, 알림 발송 외의 목적으로 이용되지 않습니다.
  6. 접근 권한의 최소화 — 개인정보를 처리하는 서버 권한은 알림 발송 등 필요한 기능에만 부여하고, 별도의 비밀값으로 호출을 인증합니다.

제10조 (개인정보 자동 수집 장치의 설치·운영 및 거부에 관한 사항)

  1. 서비스는 쿠키를 사용하지 않습니다. 대신 로그인 상태 유지와 화면 설정 보관을 위하여 이용자의 브라우저 저장소(localStorage, sessionStorage)에 다음 정보를 저장합니다.
    저장 항목내용
    로그인 인증 정보로그인 상태를 유지하기 위한 인증 토큰
    아이디 저장'아이디 저장'을 선택한 경우의 이메일 주소
    자동 로그인 설정자동 로그인 사용 여부
    화면 표시 설정일정 보기 방식(일/주/월), 월간 보기 시작 요일, 색상 필터
  2. '자동 로그인'을 끄면 인증 정보는 브라우저를 닫을 때 사라지는 저장소에만 보관됩니다. 화면 표시 설정은 기기 안에만 저장되며 서버로 전송되지 않습니다.
  3. 이용자는 브라우저 설정을 통해 저장을 거부하거나 삭제할 수 있으며, 이 경우 로그인 유지 등 일부 기능의 이용에 제한이 있을 수 있습니다.
  4. 서비스는 광고 및 이용자 행동 분석 목적의 쿠키나 추적 도구를 사용하지 않습니다.

제11조 (만 14세 미만 아동의 개인정보 처리)

서비스는 만 14세 미만 아동을 대상으로 하지 않으며, 만 14세 미만 아동의 개인정보를 알면서 수집하지 않습니다. 만 14세 미만 아동의 개인정보가 수집된 사실을 알게 된 경우 지체 없이 해당 정보를 파기합니다.

제12조 (개인정보 보호책임자 및 열람청구 접수·처리 부서)

서비스는 개인정보 처리에 관한 업무를 총괄해서 책임지고, 개인정보 처리와 관련한 정보주체의 불만처리 및 피해구제 등을 위하여 아래와 같이 개인정보 보호책임자를 지정하고 있습니다.

  • 개인정보 보호책임자: 김경현
  • 연락처: ghmir928@gmail.com

정보주체는 서비스를 이용하면서 발생한 모든 개인정보 보호 관련 문의, 불만처리, 피해구제 등에 관한 사항을 위 연락처로 문의하실 수 있습니다. 서비스는 정보주체의 문의에 지체 없이 답변 및 처리해드릴 것입니다.

제13조 (정보주체의 권익침해에 대한 구제방법)

정보주체는 개인정보 침해로 인한 구제를 받기 위하여 아래 기관에 분쟁해결이나 상담 등을 신청할 수 있습니다.

기관전화홈페이지
개인정보분쟁조정위원회1833-6972www.kopico.go.kr
개인정보침해신고센터 (한국인터넷진흥원)(국번없이) 118privacy.kisa.or.kr
대검찰청 사이버수사과(국번없이) 1301www.spo.go.kr
경찰청 사이버수사국(국번없이) 182ecrm.police.go.kr

또한 「개인정보 보호법」 제35조(개인정보의 열람), 제36조(개인정보의 정정·삭제), 제37조(개인정보의 처리정지 등)의 규정에 의한 요구에 대하여 공공기관의 장이 행한 처분 또는 부작위로 인하여 권리 또는 이익의 침해를 받은 자는 「행정심판법」이 정하는 바에 따라 행정심판을 청구할 수 있습니다.

제14조 (개인정보처리방침의 변경)

  1. 이 개인정보처리방침은 시행일로부터 적용됩니다.
  2. 법령·정책 또는 보안기술의 변경에 따라 내용의 추가·삭제 및 정정이 있을 경우에는 변경사항의 시행 7일 전부터 앱 내 공지사항 및 이 화면을 통하여 고지합니다. 다만 이용자 권리의 중대한 변경이 발생할 때에는 최소 30일 전에 고지합니다.

부칙 — 이 개인정보처리방침은 2026년 8월 26일부터 시행합니다.

종료일(여러 날 일정)