Privacy Policy
Effective: 2026-05-20 — Bundle ID: com.ootssu.hiddengem
What we collect
- Account identifiers (when you sign in): 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 if you use the email magic-link option. Names and email addresses are shared only if your provider chooses to share them.
- Location (when in use): used only when you tap "Nearby" or open the map tab to find spots around you. Read on-device by CoreLocation. Coarse location is sent to the backend only as a query to filter nearby spots; we do not store your location history.
- 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 the GPS coordinates of the photo. Uploads pass automatic profanity and size moderation; three user reports auto-hide a post.
- App activity tied to your account: favorites you saved, spots you liked, community discoveries you posted, your selected locale, the timestamp/version of the terms you accepted, 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 (data.go.kr) — TourAPI 4.0 & DataLabService (its.go.kr / data.go.kr) — 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
hiddengem Postgres 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, terms-acceptance, 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
While your account exists, account-linked data lives until you delete it (e.g., remove a favorite). When you request account deletion, we soft-delete your row immediately, revoke third-party tokens where the provider supports it (Google oauth2.googleapis.com/revoke, Kakao kapi.kakao.com/v1/user/unlink), and permanently delete the soft-deleted record — including uploaded photos in Storage — within 30 days.
Deletion
Open Settings inside the app and choose Delete account. Doing so will: (1) soft-delete your hiddengem.users row, (2) remove your uploaded photos from the Storage bucket, (3) revoke your provider's OAuth token where supported, and (4) schedule permanent deletion within 30 days. 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 and ask you to re-accept the terms on next launch.
Contact
Questions about your data? Email [email protected].
개인정보 처리방침
시행일: 2026-05-20 — 번들 ID: com.ootssu.hiddengem
수집 항목
- 계정 식별자(로그인 시): 선택한 제공자가 발급한 안정적 사용자 ID — Apple 로그인(Apple sub), Google 로그인(sub), 카카오 로그인(Kakao user id), 또는 이메일 매직 링크 이용 시 이메일 주소. 이름·이메일은 제공자가 공유하기로 한 경우에만 전달됩니다.
- 위치 정보(사용 중에만): "주변" 또는 지도 탭에서 근처 명소를 찾을 때만 사용. CoreLocation 으로 단말에서 읽으며, 백엔드에는 주변 필터링 쿼리로만 전송됩니다. 위치 이력은 저장하지 않습니다.
- 업로드 사진(선택): 커뮤니티에 발견을 공유하면 이미지와 짧은 메모, GPS 좌표가 공용 Supabase Storage 버킷에 업로드됩니다. 금칙어·이미지 크기 자동 모더레이션, 3회 신고 시 자동 숨김.
- 계정에 연결된 앱 활동: 저장한 즐겨찾기, 좋아요, 직접 올린 커뮤니티 발견, 선택한 언어, 수락한 약관 버전/시점, APNs 디바이스 토큰(즐겨찾기 최적 시간 푸시용).
- 환경설정: 언어 선택, 알림 동의 여부, 즐겨찾기별 optimal_hour_local. 백엔드와 단말에 저장됩니다.
수집하지 않는 정보
- 광고 식별자(IDFA)는 수집하지 않으며 다른 앱·웹사이트 간 추적도 하지 않습니다.
- 연락처·마이크는 접근하지 않습니다.
- 카메라 뷰파인더 영상은 저장하지 않습니다. ARKit 은 단말에서만 동작합니다.
- 실 식별자에 묶인 분석을 수행하지 않습니다.
- 개인정보를 광고주에게 판매·공유하지 않습니다.
이용하는 제3자 서비스
- 공공데이터포털(data.go.kr) 관광 OpenAPI — TourAPI 4.0 / DataLabService (its.go.kr / data.go.kr): 관광지 카탈로그(KorService2 / EngService2 / ChsService2 / JpnService2)와 지역별 방문자 통계(DataLabService) 제공. 단말 또는 주간 배치가 호출합니다. 공공데이터포털은 서비스 키·IP 주소 등 표준 요청 메타데이터를 받을 뿐 개인 식별자는 전달되지 않습니다.
- 카카오맵 iOS SDK: 지도 렌더링과 카카오 디벨로퍼스 플랫폼 인증을 처리합니다(공용 앱 키). 카카오는 디바이스/앱 단위의 SDK 텔레메트리만 수집하며 HiddenGem 계정과는 연결되지 않습니다.
- Supabase (Auth, Database, Storage, Edge Functions): HiddenGem 의 백엔드. 계정 행, 즐겨찾기, 좋아요, 업로드 사진, APNs 토큰이 행 단위 보안(RLS)이 적용된
hiddengem Postgres 스키마에 저장됩니다. 업로드 사진은 hiddengem-discoveries Storage 버킷에 보관됩니다.
- 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 뿐입니다.
보관 기간
계정이 유지되는 동안 계정에 연결된 데이터는 유지됩니다(예: 즐겨찾기 삭제 시 즉시 제거). 계정 삭제 요청 시 행을 즉시 소프트 삭제하고, 제공자가 지원하는 경우 OAuth 토큰을 해지(Google oauth2.googleapis.com/revoke, 카카오 kapi.kakao.com/v1/user/unlink)하며, Storage 의 업로드 사진을 포함해 30일 이내에 영구 삭제합니다.
삭제 방법
앱 안에서 설정 → 계정 삭제 를 누르세요. 그러면 (1) hiddengem.users 행이 소프트 삭제되고, (2) Storage 버킷의 업로드 사진이 제거되며, (3) 지원되는 경우 제공자의 OAuth 토큰이 해지되고, (4) 30일 이내에 영구 삭제가 예약됩니다. 푸시 알림만 끄고 싶다면 즐겨찾기별로 토글하거나 iOS 설정 → 알림 → HiddenGem 에서 끌 수 있습니다.
아동
HiddenGem 은 여행을 계획하는 일반 사용자를 대상으로 합니다. 14세 미만으로 알려진 사용자의 데이터는 의도적으로 수집하지 않습니다.
변경
본 방침에 중대한 변경이 있을 경우 위의 시행일을 갱신하고 다음 실행 시 재동의를 요청합니다.
문의
개인정보 관련 문의: [email protected].
プライバシーポリシー
施行日: 2026-05-20 — Bundle ID: com.ootssu.hiddengem
収集する情報
- アカウント識別子(サインイン時): 選択したプロバイダから発行される安定的なユーザー ID — Apple サインイン(Apple sub)、Google サインイン(sub)、Kakao ログイン(Kakao user id)、メールマジックリンク利用時のメールアドレス。氏名・メールアドレスはプロバイダが共有することを選んだ場合のみ送信されます。
- 位置情報(使用中のみ): 「近く」または地図タブで周辺名所を探すときのみ使用します。CoreLocation で端末側で読み取り、バックエンドへは近接フィルタリングのクエリとしてのみ送信。位置履歴は保存しません。
- アップロード写真(任意): コミュニティに発見を共有すると、画像と短いメモ、GPS 座標が共有 Supabase Storage バケットにアップロードされます。禁止語・画像サイズの自動モデレーション、3 件の通報で自動非表示。
- アカウントに紐づくアプリ活動: 保存したお気に入り、いいね、投稿したコミュニティ発見、選択した言語、同意した利用規約のバージョン/時刻、APNs デバイストークン(お気に入りの最適時間プッシュ用)。
- 環境設定: 言語選択、通知オプトイン状態、お気に入りごとの optimal_hour_local。バックエンドと端末に保存されます。
収集しない情報
- 広告識別子(IDFA)は収集せず、他のアプリ・サイト間での追跡も行いません。
- 連絡先・マイクへはアクセスしません。
- カメラのビューファインダー映像は保存しません。ARKit は端末上でローカルに動作します。
- 実名に紐づく分析は行いません。
- 個人情報を広告主に販売・共有しません。
利用する第三者サービス
- 公共データポータル(data.go.kr) 観光 OpenAPI — TourAPI 4.0 / DataLabService (its.go.kr / data.go.kr): 観光地カタログ(KorService2 / EngService2 / ChsService2 / JpnService2)と地域別来訪者統計(DataLabService)を提供。端末または週次バッチが取得します。公共データポータルはサービスキー・IP アドレス等の標準メタデータのみ受信し、ユーザー個別識別子は送信されません。
- KakaoMap iOS SDK: 地図描画と Kakao Developers プラットフォーム認証(公開アプリキー)を担当します。Kakao は端末/アプリ単位の SDK テレメトリのみを受信し、HiddenGem アカウントには紐づきません。
- Supabase (Auth, Database, Storage, Edge Functions): HiddenGem のバックエンド。アカウント行、お気に入り、いいね、アップロード写真、APNs トークンは行レベルセキュリティ(RLS)が適用された
hiddengem Postgres スキーマに保存されます。アップロード写真は hiddengem-discoveries Storage バケットに保存されます。
- 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 のみが持ちます。
保持期間
アカウント存続中は紐づくデータも保持されます(例: お気に入りを削除すると即時に消える)。アカウント削除を要求された場合、行を即時ソフト削除し、プロバイダが対応していれば OAuth トークンを取り消し(Google oauth2.googleapis.com/revoke、Kakao kapi.kakao.com/v1/user/unlink)、Storage 内のアップロード写真を含めて 30 日以内に永久削除します。
削除方法
アプリ内の設定 → アカウント削除 を選択してください。これにより (1) hiddengem.users 行がソフト削除され、(2) Storage バケットのアップロード写真が削除され、(3) 対応している場合プロバイダの OAuth トークンが取り消され、(4) 30 日以内に永久削除がスケジュールされます。プッシュ通知のみ停止したい場合は、お気に入り単位でトグルするか、iOS 設定 → 通知 → HiddenGem で無効化できます。
子どもについて
HiddenGem は旅行を計画する一般利用者を対象としています。14 歳未満のユーザーからデータを意図的に収集することはありません。
変更
本ポリシーに重大な変更がある場合は上記の施行日を更新し、次回起動時に再同意を求めます。
お問い合わせ
ご質問は [email protected] まで。
隐私政策
生效日期: 2026-05-20 — Bundle ID: com.ootssu.hiddengem
我们收集的信息
- 账户标识符(登录时): 来自所选提供商的稳定用户 ID — Apple 登录(Apple sub)、Google 登录(sub)、Kakao 登录(Kakao user id),或邮箱魔法链接所用的邮箱地址。仅当提供商选择共享时,姓名和邮箱才会传送给我们。
- 位置(使用期间): 仅当你点击"附近"或打开地图标签查找周边景点时使用。由 CoreLocation 在设备上读取。仅作为附近过滤查询发送给后端;不保存位置历史。
- 你上传的照片(可选): 当你向社区分享发现时,图片、简短笔记和照片 GPS 坐标会上传到共享的 Supabase Storage 存储桶。自动审核脏话与图片大小,被举报 3 次自动隐藏。
- 与账户关联的应用活动: 你保存的收藏、点赞、社区发布、所选语言、接受的服务条款时间/版本,以及 APNs 设备令牌(用于为你的收藏推送"最佳访问时间")。
- 偏好设置: 语言偏好、通知开关状态、收藏的 optimal_hour_local。保存在后端和设备上。
我们不收集的信息
- 不收集广告标识符(IDFA),也不在其他应用或网站间追踪你。
- 不访问联系人或麦克风。
- 不保存相机取景画面;ARKit 仅在设备上本地运行。
- 不进行与真实身份关联的分析。
- 不向广告商出售或共享个人数据。
我们使用的第三方服务
- 公共数据门户(data.go.kr) 旅游 OpenAPI — TourAPI 4.0 / DataLabService (its.go.kr / data.go.kr): 提供景点目录(KorService2 / EngService2 / ChsService2 / JpnService2)和地区级访客统计(DataLabService)。由你的设备或我们的每周批处理获取。公共数据门户会收到服务密钥、IP 地址等标准请求元数据,但不包含用户个人标识符。
- KakaoMap iOS SDK: 渲染地图并使用公开应用密钥与 Kakao Developers 平台进行身份验证。Kakao 仅收到与设备/应用相关的标准 SDK 遥测,与 HiddenGem 账户无关。
- Supabase (Auth, Database, Storage, Edge Functions): HiddenGem 的后端。账户行、收藏、点赞、上传的照片以及 APNs 令牌都保存在受行级安全(RLS)保护的
hiddengem Postgres 模式中。上传的照片保存在 hiddengem-discoveries Storage 存储桶。
- 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 拥有更高权限。
数据保留时长
账户存在期间,与账户关联的数据会保留(例如,移除收藏后立即删除)。当你请求删除账户时,我们立即软删除该行,并在提供商支持时撤销其 OAuth 令牌(Google oauth2.googleapis.com/revoke、Kakao kapi.kakao.com/v1/user/unlink),并在 30 天内永久删除该软删除记录 — 包括 Storage 中的上传照片。
删除方法
打开应用内的设置,选择 删除账户。这将: (1) 软删除你的 hiddengem.users 行;(2) 从 Storage 存储桶中删除你的上传照片;(3) 在支持的情况下撤销提供商的 OAuth 令牌;(4) 在 30 天内安排永久删除。如果只想停止推送通知,可以按收藏切换或在 iOS 设置 → 通知 → HiddenGem 中关闭。
儿童
HiddenGem 面向计划旅行的一般用户。我们不会故意收集 14 岁以下用户的数据。
变更
如果对本政策做出重大变更,我们将更新上述生效日期,并在下次启动时请求重新同意。
联系方式
与数据相关的问题请发送至 [email protected]。