개인정보 처리방침
시행일: 2026년 10월 25일
From Photos는 두 사람이 각자 선택한 사진으로 청첩장을 함께 준비하는 iOS 앱입니다. 이 방침은 본앱과 짝꿍 참여용 App Clip에서 어떤 정보를 기기 안에서 처리하고, 어떤 정보를 협업 서버로 전송하는지 설명합니다.
서버로 전송되어 처리되는 정보
- 두 참여자가 입력한 이름은 초대 세션 생성, 참여자 구분과 준비 상태 표시에 사용하며 협업 세션에 연결해 저장합니다.
- 사용자가 시스템 사진 선택기에서 직접 고른 사진은 두 기기 사이의 사진 동기화와 청첩장 제작에 사용하며 비공개 Cloudflare R2 객체로 저장합니다.
- 사진을 공유하기 전 사용자의 동의를 받은 뒤 선택한 사진과 참여자 이름을 OpenAI로 보내 부적절한 콘텐츠인지 검사합니다. 검사에서 허용되지 않거나 검사에 실패한 사진은 협업 저장소에 새로 저장하지 않습니다.
- 신고·차단 기능을 사용하는 경우 신고 사유·설명, 대상 세션과 사진의 참조, 처리 상태를 저장합니다. 운영자는 신고 처리에 필요한 상대 사진과 내용을 검토합니다. 신고자의 접수 내역은 다른 참여자에게 공개하지 않습니다.
- AI 청첩장 제작을 요청하면 선택한 사진을 서버와 OpenAI에 보내 사진의 소재를 분석합니다. 사진에서 얻은 소재 설명과 두 사람의 이름, 예식 날짜·시간·장소, 인사말을 이미지 생성 API로 보내 청첩장을 만듭니다. 이전 버전의 제작 방식에서는 선택한 사진 일부를 이미지 생성에도 사용합니다. 사진 분석 결과, 생성 요청 정보와 결과 이미지도 협업 세션에 연결해 서버에 저장합니다.
- 협업 세션 식별자, 역할 자격 증명의 해시, 사진 카테고리와 준비 상태는 접근 제어, 업로드 재시도와 18장 준비 완료 판단을 위해 Cloudflare D1과 R2에 세션 단위로 저장합니다.
- 알림을 허용한 경우 APNs 기기 토큰을 파트너의 사진 선택 완료 알림을 위해 해당 협업 세션에 연결해 저장합니다.
- 생성한 익명 이용 식별자, 앱 버전, 화면 이용·사진 준비·구매·공유 등의 이벤트를 서비스 이용 분석과 오류 개선에 사용합니다. 일부 이벤트는 해당 협업 세션이나 청첩장 식별자와 연결됩니다.
- 본앱의 상품 식별자, 구매·복원 상태와 거래 기록은 Apple 및 RevenueCat을 통해 확인합니다. RevenueCat에는 SDK가 생성한 익명 식별자를 사용하며 이름·이메일·사진·협업 세션 정보를 보내지 않습니다. 구매 기록은 권한 확인·복원과 매출 분석에 사용합니다. 유료 제작을 요청할 때에는 Apple이 서명한 구매 증명을 제작 서버에도 보내 구매 자격을 확인하고, 구매 식별자의 해시와 사용량을 저장해 중복·과도한 제작을 방지합니다.
- 요청·생성·알림 오류 코드와 관련 세션·작업 식별자 등의 진단 정보는 보안, 장애 조사와 서버 안정성 유지를 위해 Cloudflare 운영 로그에서 처리될 수 있습니다.
결제 카드나 계좌 정보는 From Photos가 받지 않습니다. 결제는 Apple App Store와 StoreKit이 처리합니다.
기기에 저장되는 정보와 사진 접근
- 청첩장 초안, 선택한 사진의 사본과 내보내기 설정은 기기에도 저장합니다. AI 제작을 요청하면 위에 안내한 정보가 서버로 전송됩니다.
- Apple이 검증한 구매 권리와 RevenueCat의 최근 확인 결과를 이용해 구매 상태를 표시합니다. 인터넷 연결이 끊겨도 기기에 남아 있는 검증된 구매 권리를 확인하며, 서버에서 수행하는 AI 제작에는 인터넷이 필요합니다.
- 내보낸 PNG·SVG 파일은 사용자 기기의 앱 문서 공간에 저장되고, 사용자가 공유하거나 삭제할 수 있습니다.
- 시스템 사진 선택기를 사용하므로 사용자가 고르지 않은 사진 보관함 전체에는 접근하지 않습니다.
완성 디자인의 공개 선택
완성 청첩장은 기본 비공개입니다. 제작자가 ‘피드에 소개하기’를 직접 선택한 경우에만 선택된 완성 이미지 한 장을 다른 이용자가 보는 From Photos 피드에 공개합니다. 이미지에 담긴 두 사람의 이름, 예식 날짜·시간·장소와 인사말도 함께 보일 수 있으므로 공개 전에 내용을 확인해 주세요. 이 선택으로 원본 사진 18장, 초대 링크나 역할 자격 증명을 공개하지 않습니다.
피드에 공개하기 전에는 완성 이미지와 이미지에 포함된 문구를 OpenAI로 보내 안전 검사를 수행합니다. 검사에 실패하거나 허용되지 않은 결과는 비공개로 유지합니다. 보관함의 ‘피드 공개’를 끄면 공개 목록과 이미지 접근을 중지합니다. 이미 다른 사람이 저장하거나 별도로 공유한 사본까지 회수할 수는 없습니다. 공개 여부와 변경 시각, 선택된 결과의 참조는 제공 상태 관리와 이용 분석을 위해 저장합니다.
공개 피드의 신고와 작성자 차단
공개된 디자인의 ‘신고·차단’에서 사유와 선택한 추가 설명을 보내면 신고된 완성 이미지 한 장과 함께 운영자가 검토합니다. 원본 사진 18장은 공개 피드 신고에 첨부하지 않습니다. 신고 접수·처리 및 운영 조치 기록을 보관합니다.
‘작성자 차단’은 해당 기기의 피드에서 같은 구매자에 연결된 현재·향후 공개 결과를 숨깁니다. 구매 증명이 없는 이전 결과는 해당 제작 세션을 기준으로 숨깁니다. 다른 이용자의 피드, 내 보관함과 두 사람의 협업 연결에는 영향을 주지 않습니다. 이 선택을 유지하기 위해 기기의 Keychain에 무작위 피드 식별자를 저장하고 서버에는 그 해시와 차단 관계를 보관합니다. 공개 작성자를 구분할 때도 별도 식별값을 쓰며 구매 기록 원문을 다른 이용자에게 공개하지 않습니다.
협업 연결 차단과 기기 안의 자료
연결을 차단하면 해당 초대의 서버 사진 접근, 재연결과 새 제작이 멈춥니다. 내 기기에 저장된 사진과 완성본은 유지되며 상대가 이미 저장한 사본은 회수할 수 없습니다. 차단은 서버 데이터 삭제 요청과 다릅니다. 삭제를 원하면 아래 지원 이메일로 문의해 주세요.
보관과 삭제
초대 링크와 협업 세션에는 시간에 따른 만료를 적용하지 않습니다. 이름, 사진, 세션 상태, 역할 자격 증명 해시, APNs 토큰, 생성 요청·결과, 신고·차단 및 운영 조치와 이용 분석·구매 확인 기록은 서버에 보관되며, 자동 삭제 일정은 운영하지 않습니다. 삭제를 원하면 아래 절차로 요청해 주세요.
열람·삭제를 요청하려면 아래 이메일로 문의해 주세요. 해당 기록을 찾는 데 필요한 협업 세션 코드 또는 구매 내역 정보를 안내해 드립니다. 비밀번호나 결제 카드 정보는 보내지 마세요. 요청자의 권한과 대상 기록을 확인한 뒤 서버 및 처리업체의 삭제 절차에 따라 처리합니다. 앱 삭제만으로 서버나 RevenueCat의 기록이 삭제되지는 않습니다. 내보낸 파일은 기기에서 사용자가 직접 삭제합니다.
제3자 처리자
- Apple: App Store, StoreKit, 시스템 사진 선택기와 Apple Push Notification service를 제공합니다. Apple이 자체적으로 처리하는 정보에는 Apple의 개인정보 처리방침이 적용됩니다.
- Cloudflare: HTTPS 요청 처리, Worker 실행, D1 데이터베이스, 비공개 R2 객체 저장과 운영 로그를 제공합니다.
- OpenAI: 사진과 이름의 안전 검사, 전달한 사진의 소재 분석을 수행하고, 소재 설명과 청첩장 정보를 이미지 생성 API에서 처리합니다. 이전 제작 방식에서는 사진 일부를 이미지 생성에도 사용합니다.
- RevenueCat: 익명 이용 식별자와 Apple 구매 기록을 처리해 구매 상태 확인·복원과 매출 분석을 제공합니다. App Clip에는 RevenueCat SDK와 결제가 없습니다.
From Photos는 광고 SDK, 맞춤형 광고, IDFA, 다른 회사의 앱·웹사이트를 가로지르는 추적, 개인정보 판매를 사용하지 않습니다.
보안과 이용자 선택
- 통신은 HTTPS로 암호화합니다.
- 협업 원본 사진과 상태는 추측하기 어려운 역할 자격 증명으로 접근을 제한하며 공개 목록을 제공하지 않습니다. 사용자가 직접 피드 공개를 선택한 완성 이미지는 위 공개 선택 절에 따라 다른 이용자가 볼 수 있습니다. 서버에는 역할 자격 증명 원문 대신 해시를 저장합니다.
- 알림은 선택 사항이며 iOS 설정에서 언제든 끌 수 있습니다. 알림을 거부해도 앱의 주기적 준비 상태 확인은 계속 사용할 수 있습니다.
- 사진은 사용자가 명시적으로 선택한 항목만 처리합니다.
Privacy policy — English
Effective October 25, 2026. This policy covers From Photos, its partner App Clip and its invitation website.
Information we process
We store the names you enter, photos you select, wedding details and message, photo analysis, generation requests and results, session identifiers and hashed role credentials on Cloudflare D1 and private R2 storage. This supports two-person collaboration, access control, retries and invitation generation. We do not access photos you have not selected in the system photo picker.
Before upload, we ask for permission to send photos and names to OpenAI for safety checks and analysis. To generate invitations, we also send the resulting subject descriptions, names, wedding date and time, venue and message to OpenAI. Earlier generation methods may send selected photos directly for image generation. Declining permission prevents photo upload and AI generation; selecting photos locally and viewing existing designs remain available.
If you allow notifications, we store an Apple push token with your session for partner-completion notifications. Notifications are optional. We collect a generated usage identifier, app version, interaction events and related session or invitation identifiers for usage analysis. Server error codes and request or job identifiers may be retained in Cloudflare operational logs for security and troubleshooting.
Apple and RevenueCat process the app's product identifiers and purchase or restoration records. RevenueCat uses its own anonymous identifier for entitlement checking and sales analytics; we do not send it your photos, names, email or collaboration session. We send Apple's signed purchase proof to our generation server and retain purchase hashes and usage records to validate access and prevent duplicate or excessive generation. We do not receive payment card or bank details. The App Clip has no purchases or RevenueCat SDK.
Reports include a reason, description, session and photo references, and processing status. Our operator can review reported content and the partner photos needed to resolve a report. The reporting participant's receipt is not shown to the other participant.
Sharing and optional public feed
Your selected photos and name are shared with the partner who joins your private invitation. Finished designs stay private by default. Only if the creator explicitly chooses to feature a design do we publish the selected finished image in the app's inspiration feed. The image may display both names, wedding date and time, venue and message. The 18 original photos, invitation secret and role credentials are not published. Before publication, we send the finished image and its text to OpenAI for a safety check; a failed or rejected check leaves it private. We store publication choices, timestamps and the result reference to manage availability and analyze use.
You can turn off feed visibility in your library to remove the item from our public list and stop public image access. We cannot recall copies other people have already saved or shared. Blocking a collaboration stops further server access, reconnection and generation; photos and finished designs already on a device stay there. Blocking is separate from requesting server deletion.
Each public design has a Report or block menu. A feed report includes your reason, optional description and the reported finished image; it does not attach the 18 source photos. Our operator reviews reports and retains report, blocking and enforcement records. Block creator hides that creator's current and future public designs on this device using a private purchaser-derived identifier. For older results without purchase proof, blocking applies to the creation session. It does not change other users' feeds, your library or your partner collaboration. We store a random viewer secret in Keychain and only its hash and blocking relationships on the server; other users cannot access raw purchase records.
Storage, deletion and your choices
Drafts, photo copies, purchase rights and exported PNG/SVG files may also be stored on your device. AI generation and collaboration require an internet connection. Invitation links and sessions do not expire solely due to elapsed time. We do not run automatic deletion of server records. Deleting the app does not delete server or RevenueCat records.
For access or deletion, email saebom.ai.official@gmail.com. We will explain how to identify the relevant session or purchase and verify your authority before processing deletion with our providers. Do not send passwords, payment card details, original photos or secret invitation tokens. You can delete local exports on your device.
Service providers and security
Apple provides the App Store, payments, photo picker and push service under its own policies. Cloudflare provides hosting, databases, object storage and operational logs. OpenAI performs safety checks, photo analysis and image generation. RevenueCat supports purchase validation, restoration and sales analytics. We use HTTPS and restrict private session data with hard-to-guess role credentials; the server stores credential hashes.
We do not use advertising SDKs, IDFA, personalized advertising, cross-company tracking or sales of personal data. Contact saebom.ai.official@gmail.com for privacy questions, reports, access or deletion requests.
문의
개인정보 열람·삭제 요청 또는 문의: saebom.ai.official@gmail.com