개인정보 처리방침
HiddenGem Korea의 데이터 처리, 보관, 삭제, 제3자 서비스 정보를 확인하세요.
데이터 사용
앱 기능 제공, 동기화, 지원 응답, 안정성 개선에 필요한 정보만 다룹니다.
삭제와 보관
계정 또는 데이터 삭제는 앱 안의 삭제 기능이나 지원 이메일을 통해 요청할 수 있습니다.
추적 제한
광고 목적의 제3자 추적이나 개인정보 판매를 전제로 설계하지 않았습니다.
Privacy Policy
What we collect
- Guest ID (no sign-in needed): the app works without an account. On first use it creates a random guest ID on our backend so your favorites, likes and notification settings can be saved. No name, email or phone number is attached to it.
- Account identifiers (only if you link an account in Settings): a stable user ID from your chosen provider — Sign in with Apple (Apple-issued sub), Google Sign-In (sub), Kakao Login (Kakao user id), or your email address and password if you use email. Names and email addresses are shared only if your provider chooses to share them. Linking keeps your guest data. Posting to the community requires a linked account.
- Location (when in use): used when you tap "Nearby" or open the map tab to find spots around you. Read on-device by CoreLocation. Location is sent to the backend only as a query to filter nearby spots; we do not store your location history.
- Arrival alerts for favorites (on-device): if you allow location, the app registers up to 20 of your favorite spots as iOS geofences (200 m) so it can show a local "you have arrived" notification. The geofence check runs on your iPhone; your position is not sent to us for this.
- Photos you upload (optional): if you share a community discovery, the image and your short note are uploaded to the shared Supabase Storage bucket along with your iPhone's current location at the moment you post (not the photo's embedded location). Approved posts — image, note and that location — are public and visible to anyone using the app. Uploads pass automatic profanity and size moderation; a post reported by three signed-in users is taken down for manual review.
- App activity tied to your account: favorites you saved, spots you liked, community discoveries you posted, your selected locale, and your APNs device token (so we can send the optional "best time to visit" push for your favorites).
- Preferences: language preference, notification opt-in state, optimal-hour-local for favorites. Stored on the backend and on-device.
What we don't collect
- We don't collect advertising identifiers (IDFA) and we don't track you across other apps or websites.
- We don't access your contacts or microphone.
- We don't store your camera viewfinder feed; ARKit runs locally on-device.
- We don't run analytics keyed to your real identity.
- We don't sell or share personal data with advertisers.
Third-party services we use
- the tourism OpenAPI services on the Public Data Portal (data.go.kr) — source: © Korea Tourism Organization — provides tourist-spot catalog (KorService2 / EngService2 / ChsService2 / JpnService2) and region-level visitor statistics (DataLabService). Your device or our weekly batch fetches these. The data portal receives standard request metadata (e.g., the service key, IP address) but no per-user identifiers.
- KakaoMap SDK for iOS — renders the map and authenticates with the Kakao Developers platform using a public app key. Kakao receives standard SDK telemetry tied to the device/app, not to your HiddenGem account.
- Supabase (Auth, Database, Storage, Edge Functions) — HiddenGem's backend. Your account row, favorites, likes, uploaded photos, and APNs token are stored in the
hiddengemPostgres schema under row-level security scoped to your account. Storage holds your uploaded discovery photos. - Sign in with Apple — Apple is the identity provider; HiddenGem only receives the identifiers Apple chooses to share.
- Google Sign-In — Google is the identity provider; HiddenGem receives the OAuth ID token only and exchanges it with Supabase Auth.
- Kakao Login — Kakao is the identity provider; HiddenGem receives the OAuth ID token only and exchanges it with Supabase Auth.
- Apple Push Notification service (APNs) — used to send the optional daily "best time to visit" push for your favorites, dispatched by our Edge Function.
Where your data lives
On-device: locale preference, appearance, ARKit local state. On the shared Supabase project (region: AWS ap-northeast-2): your account row in hiddengem.users, favorites, likes, community discoveries, APNs device tokens. Uploaded photos live in the hiddengem-discoveries Storage bucket. Row-level security restricts read/write to the row owner; the only callers with elevated access are server-side Edge Functions that run as the project's service role.
How long we keep your data
Your HiddenGem data stays until you delete it (e.g., remove a favorite) or delete your account/data. Deletion is immediate: we first delete your HiddenGem records (account row, favorites, likes, reports, blocks, community posts, device tokens) and then your uploaded photos from Storage. If a photo cannot be removed at that moment, it is queued and removed on the next deletion run. Your sign-in record is shared by OOTSSU apps that use the same sign-in: it is deleted too unless you still use it in another OOTSSU app, in which case only the HiddenGem data is removed. When the sign-in record is deleted, we also revoke third-party tokens where the provider supports it (Google oauth2.googleapis.com/revoke, Kakao kapi.kakao.com/v1/user/unlink).
Deletion
Open Settings inside the app and choose Delete account (signed-in accounts) or Delete My Data (guests). This immediately removes your uploaded photos and your HiddenGem records as described above; the app then continues as a new guest. If deletion fails, nothing is removed and the app shows the reason. You can also request deletion by email (see Delete your data). If you only want to stop receiving push notifications, you can turn off notifications per-favorite or per-app in iOS Settings.
Children
HiddenGem is intended for general audiences planning travel. We do not knowingly collect data from anyone under 14.
Changes
If we make material changes to this policy we'll update the Effective date above.
Contact
Questions about your data? Email ootssu@ootssu.com.
개인정보 처리방침
수집 항목
- 게스트 ID(로그인 불필요): 앱은 계정 없이 동작합니다. 처음 사용할 때 백엔드에 무작위 게스트 ID 를 만들어 즐겨찾기·좋아요·알림 설정을 저장합니다. 이름·이메일·전화번호는 연결되지 않습니다.
- 계정 식별자(설정에서 계정을 연결한 경우에만): 선택한 제공자가 발급한 안정적 사용자 ID — Apple 로그인(Apple sub), Google 로그인(sub), 카카오 로그인(Kakao user id), 또는 이메일 이용 시 이메일 주소와 비밀번호. 이름·이메일은 제공자가 공유하기로 한 경우에만 전달됩니다. 연결해도 게스트 기록은 그대로 유지됩니다. 커뮤니티에 글을 올리려면 계정 연결이 필요합니다.
- 위치 정보(사용 중에만): "주변" 또는 지도 탭에서 근처 명소를 찾을 때 사용. CoreLocation 으로 단말에서 읽으며, 백엔드에는 주변 필터링 쿼리로만 전송됩니다. 위치 이력은 저장하지 않습니다.
- 즐겨찾기 도착 알림(단말 안): 위치를 허용하면 즐겨찾기한 명소 최대 20곳을 iOS 지오펜스(반경 200m)로 등록해 "도착했어요" 로컬 알림을 띄웁니다. 판정은 iPhone 안에서 이뤄지며 이 용도로 위치를 서버에 보내지 않습니다.
- 업로드 사진(선택): 커뮤니티에 발견을 공유하면 이미지와 짧은 메모, 그리고 올리는 순간의 iPhone 현재 위치(사진에 들어 있는 위치가 아님)가 업로드됩니다. 승인된 글(사진·메모·그 위치)은 공개되어 앱을 쓰는 누구나 볼 수 있습니다. 금칙어·이미지 크기 자동 모더레이션을 거치며, 로그인한 사용자 3명이 신고한 글은 내려서 운영자가 검토합니다.
- 계정에 연결된 앱 활동: 저장한 즐겨찾기, 좋아요, 직접 올린 커뮤니티 발견, 선택한 언어, APNs 디바이스 토큰(즐겨찾기 최적 시간 푸시용).
- 환경설정: 언어 선택, 알림 동의 여부, 즐겨찾기별 optimal_hour_local. 백엔드와 단말에 저장됩니다.
수집하지 않는 정보
- 광고 식별자(IDFA)는 수집하지 않으며 다른 앱·웹사이트 간 추적도 하지 않습니다.
- 연락처·마이크는 접근하지 않습니다.
- 카메라 뷰파인더 영상은 저장하지 않습니다. ARKit 은 단말에서만 동작합니다.
- 실 식별자에 묶인 분석을 수행하지 않습니다.
- 개인정보를 광고주에게 판매·공유하지 않습니다.
이용하는 제3자 서비스
- 공공데이터포털(data.go.kr) 관광 OpenAPI — 출처: ©한국관광공사: 관광지 카탈로그(KorService2 / EngService2 / ChsService2 / JpnService2)와 지역별 방문자 통계(DataLabService) 제공. 단말 또는 주간 배치가 호출합니다. 공공데이터포털은 서비스 키·IP 주소 등 표준 요청 메타데이터를 받을 뿐 개인 식별자는 전달되지 않습니다.
- 카카오맵 iOS SDK: 지도 렌더링과 카카오 디벨로퍼스 플랫폼 인증을 처리합니다(공용 앱 키). 카카오는 디바이스/앱 단위의 SDK 텔레메트리만 수집하며 HiddenGem 계정과는 연결되지 않습니다.
- Supabase (Auth, Database, Storage, Edge Functions): HiddenGem 의 백엔드. 계정 행, 즐겨찾기, 좋아요, 업로드 사진, APNs 토큰이 행 단위 보안(RLS)이 적용된
hiddengemPostgres 스키마에 저장됩니다. 업로드 사진은hiddengem-discoveriesStorage 버킷에 보관됩니다. - Apple 로그인: Apple 이 신원 제공자. Apple 이 공유하기로 한 식별자만 HiddenGem 이 받습니다.
- Google 로그인: Google 이 신원 제공자. HiddenGem 은 OAuth ID 토큰만 받아 Supabase Auth 와 교환합니다.
- 카카오 로그인: 카카오가 신원 제공자. HiddenGem 은 OAuth ID 토큰만 받아 Supabase Auth 와 교환합니다.
- Apple Push Notification 서비스(APNs): 즐겨찾기에 대한 일일 "최적 방문 시각" 푸시 전송에 사용됩니다. Edge Function 이 발송합니다.
데이터 보관 위치
단말에 저장: 언어 선택, 화면 모드, ARKit 로컬 상태. 공용 Supabase 프로젝트(리전: AWS ap-northeast-2)에 저장: hiddengem.users 의 계정 행, 즐겨찾기, 좋아요, 커뮤니티 발견, APNs 디바이스 토큰. 업로드 사진은 hiddengem-discoveries Storage 버킷에 있습니다. 행 단위 보안이 행 소유자에게만 읽기·쓰기를 허용하며, 권한이 더 큰 호출자는 service role 로 실행되는 서버사이드 Edge Function 뿐입니다.
보관 기간
숨은명소 데이터는 직접 지우거나(예: 즐겨찾기 해제) 계정·데이터를 삭제할 때까지 유지됩니다. 삭제는 즉시 이뤄집니다: 먼저 숨은명소 기록(계정 행·즐겨찾기·좋아요·신고·차단·커뮤니티 글·디바이스 토큰)을 지우고, 이어서 Storage 의 업로드 사진을 지웁니다. 그 순간 지우지 못한 사진은 대기열에 남겨 다음 삭제 처리 때 지웁니다. 로그인 기록은 같은 로그인을 쓰는 OOTSSU 앱들이 함께 쓰므로, 다른 OOTSSU 앱에서 그 로그인을 쓰지 않을 때만 함께 삭제되고, 쓰고 있다면 숨은명소 데이터만 삭제됩니다. 로그인 기록이 삭제될 때는 제공자가 지원하는 경우 OAuth 토큰도 해지합니다(Google oauth2.googleapis.com/revoke, 카카오 kapi.kakao.com/v1/user/unlink).
삭제 방법
앱 안에서 설정 → 계정 삭제(로그인한 계정) 또는 내 데이터 삭제(게스트)를 누르세요. 위에 적은 대로 업로드 사진과 숨은명소 기록이 즉시 삭제되고, 앱은 새 게스트로 계속 동작합니다. 삭제에 실패하면 아무것도 지워지지 않으며 앱이 사유를 보여 줍니다. 이메일로도 삭제를 요청할 수 있습니다(데이터 삭제 안내). 푸시 알림만 끄고 싶다면 즐겨찾기별로 토글하거나 iOS 설정 → 알림 → HiddenGem 에서 끌 수 있습니다.
아동
HiddenGem 은 여행을 계획하는 일반 사용자를 대상으로 합니다. 14세 미만으로 알려진 사용자의 데이터는 의도적으로 수집하지 않습니다.
변경
본 방침에 중대한 변경이 있을 경우 위의 시행일을 갱신합니다.
문의
개인정보 관련 문의: ootssu@ootssu.com.
プライバシーポリシー
収集する情報
- ゲスト ID(サインイン不要): アプリはアカウントなしで動作します。初回利用時にバックエンドにランダムなゲスト ID を作成し、お気に入り・いいね・通知設定を保存します。氏名・メールアドレス・電話番号は紐づきません。
- アカウント識別子(設定でアカウントを連携した場合のみ): 選択したプロバイダから発行される安定的なユーザー ID — Apple サインイン(Apple sub)、Google サインイン(sub)、Kakao ログイン(Kakao user id)、またはメール利用時のメールアドレスとパスワード。氏名・メールアドレスはプロバイダが共有することを選んだ場合のみ送信されます。連携してもゲストの記録はそのまま残ります。コミュニティへの投稿にはアカウント連携が必要です。
- 位置情報(使用中のみ): 「近く」または地図タブで周辺名所を探すときに使用します。CoreLocation で端末側で読み取り、バックエンドへは近接フィルタリングのクエリとしてのみ送信。位置履歴は保存しません。
- お気に入りの到着通知(端末内): 位置情報を許可すると、お気に入りの名所を最大 20 件 iOS ジオフェンス(半径 200m)として登録し、「到着しました」のローカル通知を表示します。判定は iPhone 内で行われ、この目的で位置をサーバーに送信しません。
- アップロード写真(任意): コミュニティに発見を共有すると、画像と短いメモ、そして投稿した瞬間の iPhone の現在地(写真に埋め込まれた位置ではありません)がアップロードされます。承認された投稿(写真・メモ・その位置)は公開され、アプリを使う誰でも見られます。禁止語・画像サイズの自動モデレーションを通過し、ログインしたユーザー 3 人から通報された投稿は非公開にして運営者が確認します。
- アカウントに紐づくアプリ活動: 保存したお気に入り、いいね、投稿したコミュニティ発見、選択した言語、APNs デバイストークン(お気に入りの最適時間プッシュ用)。
- 環境設定: 言語選択、通知オプトイン状態、お気に入りごとの optimal_hour_local。バックエンドと端末に保存されます。
収集しない情報
- 広告識別子(IDFA)は収集せず、他のアプリ・サイト間での追跡も行いません。
- 連絡先・マイクへはアクセスしません。
- カメラのビューファインダー映像は保存しません。ARKit は端末上でローカルに動作します。
- 実名に紐づく分析は行いません。
- 個人情報を広告主に販売・共有しません。
利用する第三者サービス
- 公共データポータル(data.go.kr) 観光 OpenAPI — 出典: ©韓国観光公社: 観光地カタログ(KorService2 / EngService2 / ChsService2 / JpnService2)と地域別来訪者統計(DataLabService)を提供。端末または週次バッチが取得します。公共データポータルはサービスキー・IP アドレス等の標準メタデータのみ受信し、ユーザー個別識別子は送信されません。
- KakaoMap iOS SDK: 地図描画と Kakao Developers プラットフォーム認証(公開アプリキー)を担当します。Kakao は端末/アプリ単位の SDK テレメトリのみを受信し、HiddenGem アカウントには紐づきません。
- Supabase (Auth, Database, Storage, Edge Functions): HiddenGem のバックエンド。アカウント行、お気に入り、いいね、アップロード写真、APNs トークンは行レベルセキュリティ(RLS)が適用された
hiddengemPostgres スキーマに保存されます。アップロード写真はhiddengem-discoveriesStorage バケットに保存されます。 - Apple サインイン: Apple が ID プロバイダ。Apple が共有することを選んだ識別子のみ HiddenGem に届きます。
- Google サインイン: Google が ID プロバイダ。HiddenGem は OAuth ID トークンのみ受け取り Supabase Auth と交換します。
- Kakao ログイン: Kakao が ID プロバイダ。HiddenGem は OAuth ID トークンのみ受け取り Supabase Auth と交換します。
- Apple Push Notification サービス (APNs): お気に入りに対する日次「最適訪問時間」プッシュの送信に使用されます。Edge Function が配信します。
データの保存先
端末: 言語選択、表示モード、ARKit ローカル状態。共有 Supabase プロジェクト(リージョン: AWS ap-northeast-2): hiddengem.users のアカウント行、お気に入り、いいね、コミュニティ発見、APNs デバイストークン。アップロード写真は hiddengem-discoveries Storage バケット内。行レベルセキュリティで読み書きは行の所有者に制限され、それ以上の権限は service role で動作するサーバサイドの Edge Function のみが持ちます。
保持期間
HiddenGem のデータは、ご自身で削除する(例: お気に入り解除)か、アカウント・データを削除するまで保持されます。削除は即時です: まず HiddenGem の記録(アカウント行・お気に入り・いいね・通報・ブロック・コミュニティ投稿・デバイストークン)を削除し、続いて Storage のアップロード写真を削除します。その時点で削除できなかった写真はキューに残し、次回の削除処理で削除します。ログイン記録は同じログインを使う OOTSSU アプリ間で共有されるため、他の OOTSSU アプリでそのログインを使っていない場合のみ一緒に削除され、使っている場合は HiddenGem のデータだけが削除されます。ログイン記録を削除する際は、プロバイダが対応していれば OAuth トークンも取り消します(Google oauth2.googleapis.com/revoke、Kakao kapi.kakao.com/v1/user/unlink)。
削除方法
アプリ内の設定 → アカウント削除(ログイン中のアカウント)または データを削除(ゲスト)を選択してください。上記のとおりアップロード写真と HiddenGem の記録が即時に削除され、アプリは新しいゲストとして引き続き動作します。削除に失敗した場合は何も削除されず、アプリが理由を表示します。メールでも削除を依頼できます(データ削除のご案内)。プッシュ通知のみ停止したい場合は、お気に入り単位でトグルするか、iOS 設定 → 通知 → HiddenGem で無効化できます。
子どもについて
HiddenGem は旅行を計画する一般利用者を対象としています。14 歳未満のユーザーからデータを意図的に収集することはありません。
変更
本ポリシーに重大な変更がある場合は上記の施行日を更新します。
お問い合わせ
ご質問は ootssu@ootssu.com まで。
隐私政策
我们收集的信息
- 访客 ID(无需登录): 应用无需账户即可使用。首次使用时会在后端创建一个随机访客 ID,用于保存收藏、点赞和通知设置。不关联姓名、邮箱或电话号码。
- 账户标识符(仅在设置中关联账户时): 来自所选提供商的稳定用户 ID — Apple 登录(Apple sub)、Google 登录(sub)、Kakao 登录(Kakao user id),或使用邮箱时的邮箱地址和密码。仅当提供商选择共享时,姓名和邮箱才会传送给我们。关联后访客记录保持不变。在社区发布内容需要关联账户。
- 位置(使用期间): 在你点击"附近"或打开地图标签查找周边景点时使用。由 CoreLocation 在设备上读取。仅作为附近过滤查询发送给后端;不保存位置历史。
- 收藏到达提醒(设备端): 如果允许定位,应用会把最多 20 个收藏景点注册为 iOS 地理围栏(半径 200 米),以显示"已到达"的本地通知。判断在 iPhone 上完成,不会为此把位置发送给我们。
- 你上传的照片(可选): 当你向社区分享发现时,图片、简短笔记以及发布那一刻 iPhone 的当前位置(不是照片内嵌的位置)会被上传。通过审核的帖子(照片、笔记和该位置)是公开的,任何使用本应用的人都能看到。上传会经过脏话与图片大小的自动审核;被 3 位已登录用户举报的帖子会被撤下,由运营人员人工复查。
- 与账户关联的应用活动: 你保存的收藏、点赞、社区发布、所选语言,以及 APNs 设备令牌(用于为你的收藏推送"最佳访问时间")。
- 偏好设置: 语言偏好、通知开关状态、收藏的 optimal_hour_local。保存在后端和设备上。
我们不收集的信息
- 不收集广告标识符(IDFA),也不在其他应用或网站间追踪你。
- 不访问联系人或麦克风。
- 不保存相机取景画面;ARKit 仅在设备上本地运行。
- 不进行与真实身份关联的分析。
- 不向广告商出售或共享个人数据。
我们使用的第三方服务
- 公共数据门户(data.go.kr) 旅游 OpenAPI — 来源: ©韩国观光公社: 提供景点目录(KorService2 / EngService2 / ChsService2 / JpnService2)和地区级访客统计(DataLabService)。由你的设备或我们的每周批处理获取。公共数据门户会收到服务密钥、IP 地址等标准请求元数据,但不包含用户个人标识符。
- KakaoMap iOS SDK: 渲染地图并使用公开应用密钥与 Kakao Developers 平台进行身份验证。Kakao 仅收到与设备/应用相关的标准 SDK 遥测,与 HiddenGem 账户无关。
- Supabase (Auth, Database, Storage, Edge Functions): HiddenGem 的后端。账户行、收藏、点赞、上传的照片以及 APNs 令牌都保存在受行级安全(RLS)保护的
hiddengemPostgres 模式中。上传的照片保存在hiddengem-discoveriesStorage 存储桶。 - Apple 登录: 由 Apple 提供身份验证。HiddenGem 仅接收 Apple 选择共享的标识符。
- Google 登录: 由 Google 提供身份验证。HiddenGem 仅接收 OAuth ID 令牌并与 Supabase Auth 交换。
- Kakao 登录: 由 Kakao 提供身份验证。HiddenGem 仅接收 OAuth ID 令牌并与 Supabase Auth 交换。
- Apple Push Notification 服务 (APNs): 用于发送收藏每日"最佳访问时间"推送,由我们的 Edge Function 派发。
数据存储位置
设备端: 语言偏好、显示模式、ARKit 本地状态。共享 Supabase 项目(区域: AWS ap-northeast-2): hiddengem.users 中的账户行、收藏、点赞、社区发现、APNs 设备令牌。上传的照片位于 hiddengem-discoveries Storage 存储桶。行级安全将读写限制为行所有者,只有作为 service role 运行的服务端 Edge Function 拥有更高权限。
数据保留时长
HiddenGem 数据会一直保留,直到你自行删除(例如取消收藏)或删除账户/数据。删除会立即执行: 先删除 HiddenGem 记录(账户行、收藏、点赞、举报、屏蔽、社区帖子、设备令牌),再删除 Storage 中的上传照片。当时未能删除的照片会进入队列,在下一次删除处理时删除。登录记录由使用同一登录方式的 OOTSSU 应用共享: 仅当你未在其他 OOTSSU 应用中使用该登录时才会一并删除;否则只删除 HiddenGem 数据。删除登录记录时,我们也会在提供商支持时撤销其 OAuth 令牌(Google oauth2.googleapis.com/revoke、Kakao kapi.kakao.com/v1/user/unlink)。
删除方法
打开应用内的设置,选择 删除账户(已登录账户)或 删除我的数据(访客)。如上所述,上传照片和 HiddenGem 记录会立即删除,之后应用会以新访客身份继续运行。如果删除失败,不会删除任何内容,应用会显示原因。也可以通过邮件申请删除(数据删除说明)。如果只想停止推送通知,可以按收藏切换或在 iOS 设置 → 通知 → HiddenGem 中关闭。
儿童
HiddenGem 面向计划旅行的一般用户。我们不会故意收集 14 岁以下用户的数据。
变更
如果对本政策做出重大变更,我们将更新上述生效日期。
联系方式
与数据相关的问题请发送至 ootssu@ootssu.com。
지원이 필요하신가요?
앱, 계정, 결제, 데이터 삭제 문의는 이메일로 보내주세요.