기술 개요

Gymios의
내부 구조.

아키텍처, 데이터에 관한 결정, Apple 통합을 자세히 설명합니다. 상태 표시는 코드에 통합된 것과 아직 실제 기기에서 검증이 필요한 것을 구분합니다.

iPhone 및 Apple Watch용 Gymios는 App Store에서 이용할 수 있습니다. Mac 버전은 추후 제공될 예정입니다.

Gymios Data Policy
  1. 01
    Apple 건강호환 항목의 주요 출처
  2. 02
    확인된 출처기기 또는 확인된 가져오기
  3. 03
    Gymios 보완정보가 없을 때만
출처 보존 · 지어낸 값 없음
우선순위 규칙

Apple 건강을 덮어쓰지 않습니다.

Apple 건강이 제공하는 정보에 대해 Gymios는 그 출처를 기준으로 삼습니다. Gymios 데이터는 비어 있는 항목을 보완할 수 있지만, 건강 앱에 있는 기존 값을 몰래 대체하지 않습니다.

  1. 01
    Apple 건강을 먼저 읽기

    체중, 키, 수면, 심박수, 마음 상태, 운동은 권한을 받은 후에만 날짜와 출처와 함께 가져옵니다.

  2. 02
    다른 출처 확인하기

    Bluetooth 데이터, 인식된 문서, 가져온 입력은 출처를 그대로 유지합니다. 확인되지 않은 민감한 값은 확인이 필요한 상태로 남습니다.

  3. 03
    없는 정보 보완하기

    Gymios 프로필과 설문은 없는 정보만 묻습니다. 어떤 데이터를 거부하거나 생략해도 다른 항목의 분석은 막히지 않습니다.

  4. 04
    동의가 있을 때만 쓰기

    아웃도어, 호환되는 측정값, 컨디션은 해당 권한을 받은 후에만 Apple 건강에 추가됩니다. Gymios 백업을 가져와도 건강 앱의 데이터는 수정되거나 삭제되지 않습니다.

주요 출처의 동작 방식
출처역할관리Apple 건강을 덮어쓰나요?
Apple 건강호환 항목의 기준카테고리별 Apple 권한해당 없음
기기 또는 가져오기추적 가능한 보완 측정값기술 검증과 사람의 검증아니요
Gymios 입력없는 정보를 보완사용자의 명시적인 동작아니요
Gymios 분석도출된, 설명 가능한 관찰기간, 출처, 데이터 범위 표시아니요
네이티브 Apple 아키텍처

각 프레임워크에는 명확한 범위가 있습니다.

Gymios는 네이티브 SwiftUI 앱으로 개발됩니다. 시스템 통합은 서로 분리되어 있어, 권한을 거부해도 그 권한에 의존하지 않는 모듈은 비활성화되지 않습니다.

UI

SwiftUI

각 화면에 맞춘 iPhone, Apple Watch, Mac 인터페이스, 접근성을 갖춘 구성 요소, 네이티브 탐색.

통합됨
DB

SwiftData

운동, 영양, 확인된 측정값, 목표, 설정을 로컬에서 계속 사용할 수 있습니다.

통합됨
HK

HealthKit

카테고리별 읽기 및 쓰기, 한곳에서 관리하는 권한, 출처 보존, CloudKit 일괄 백업 없음.

기기 검증
WC

WatchConnectivity

운동 연속성, 계획된 경로, 연결이 돌아올 때까지 기다릴 수 있는 전송 대기열.

실제 페어 검증
MK

MapKit + Core Location

GPS 경로, 페이스, 구간, 도로를 따르는 경로, GPX 가져오기/내보내기, 아웃도어 라이브러리.

장시간 검증
CK

비공개 CloudKit

명시적으로 허용한 카테고리를 Apple ID의 비공개 데이터베이스에 선택적으로 동기화.

기본적으로 꺼짐
BT

Core Bluetooth + FTMS

표준을 따르는 트레드밀, 실내 자전거, 로잉 머신 감지. 모델을 테스트하기 전에는 호환성을 약속하지 않습니다.

장비 검증
VI

Vision + OCR

라벨, 음식, 후보 값을 로컬에서 인식하며, 항상 확인 전에 보여 줍니다.

통합됨
상세 카탈로그

고급 기능을 분야별로.

‘통합됨’ 상태는 사용 가능한 코드를 뜻합니다. 명시된 기기 테스트, 제조사 승인, 전문가 검증을 대신하지 않습니다.

⌁

트레이닝

통합됨
  • 바로 시작하는 운동 라이브러리, 즐겨찾기, 사용자 지정 운동
  • 목표, 수준, 시간, 장비, 선호에 따른 추천
  • 운동/휴식 타이머, 운동 재개, Watch로 전송
  • 설명, 근육 부위, 동작 시연
  • 근력 강화와 야외 활동을 포함한 목표
↗

아웃도어 및 경로

현장 검증
  • 사용자가 시작하는 GPS 기록으로 걷기, 달리기, 자전거
  • 거리, 시간, 속도, 페이스, 일시 정지, 고도 변화, 구간
  • 이름을 바꿀 수 있는 기록, 즐겨찾기, 1~5점 평점, 정렬
  • Mac에서 도로를 따르는 경로를 만들고 iPhone/Watch로 전송
  • GPX/TCX 가져오기 및 내보내기, 경로 이탈 알림, 보호된 재개
♥

건강과 컨디션

실제 HealthKit 필요
  • Apple 건강 권한을 한곳에서 관리
  • 체중, 키, 수면, 심장, 회복, 출처 표시
  • 없는 정보를 보완하는 선택형 설문
  • Apple 건강의 마음 상태가 있으면 우선 사용
  • 데이터를 지어내거나 진단하지 않는 맞춤형 관찰
◒

영양

확인 필요
  • 식사, 양, 수분 섭취, 경향 기록
  • 출처가 있는 영양 데이터 기반 라이브러리
  • 건강 데이터를 보내지 않는 Open Food Facts 바코드 검색
  • 라벨 OCR과 로컬 사진 인식
  • 없는 값은 이용할 수 없음으로 표시하며, 절대 지어내지 않음
◉

연결된 기기

모델별
  • 호환되는 트레드밀, 실내 자전거, 로잉 머신용 FTMS
  • Apple 건강을 통한 체중계
  • 범위를 제한하고 격리한 뒤 확인하는 혈당 가져오기
  • 지원을 잘못 약속하지 않는 브랜드별 페어링 도움말
  • 의도하지 않은 명령을 막기 위해 읽기 전용 우선
◎

커뮤니티와 동의

기반 통합됨
  • 기본적으로 꺼져 있고 언제든 취소할 수 있는 모듈
  • 선택형 닉네임, 비공개 프로필, 직접 고르는 공개 범위
  • iCloud 동기화는 의료와 무관한 설정으로 제한
  • 연락처 자동 가져오기 없음
  • 비공개 코드, 초대, 차단, 신고 통합됨. 검토 절차는 공개 전에 검증 예정
★

목표와 트로피

직접 선택하는 공유
  • 개인 목표, 연속 일수, 시각적 축하 효과
  • iPhone과 Mac에서 선반당 트로피 3개를 놓는 세로형 쇼케이스
  • 사용자가 선택한 요약을 시스템으로 공유
  • 도전 과제 식별자와 진행률로 제한된 선택형 Game Center
  • Gymios HTTPS 서비스에 연결된 모임이나 커뮤니티에 게시, Apple 로그인 필요
✓

코치 역할

구성 및 테스트 진행 중
  • 역할은 본인이 신고하는 것입니다. Gymios는 자격증을 확인하지 않으며 증빙 자료를 요구하지 않습니다
  • 예를 들어 헬스장에서 이미 알고 있는 코치가 자신의 코드로 사용자를 초대하는 경우를 위해 설계되었습니다
  • Apple 로그인은 서버에서 검증되며, 계정 삭제 시 연결을 취소하기 위해 갱신 토큰을 암호화하여 보관합니다
  • 사용자의 동의 없이는 어떤 데이터도 공유되지 않으며, 카테고리별로 종료 날짜를 정합니다
✦

로컬 분석

실험실
  • 실제로 사용할 수 있는 카테고리만 비교
  • 관찰에 기간, 데이터 범위, 출처를 함께 표시
  • 이미 계산된 결과를 다시 정렬하는 선택형 Apple Intelligence
  • 모델이 Apple 건강에 직접 접근하지 않음
  • 원본 의료 문서, 자유 메모, 자세한 GPS 경로는 전송하지 않음
☁

Apple 연속성

서명 검증 예정
  • 위젯, 컴플리케이션, 스마트 스택, 실시간 현황
  • App Intents, Siri 단축어, 딥 링크
  • iPhone과 Mac 공간을 따로 사용자화
  • 주요 단축키를 갖춘 Watch 홈
  • 새로운 시스템 기능을 사용할 수 없을 때 기존 방식으로 전환
커뮤니티와 코치 모임

적게 공유하되,
명확하게 공유합니다.

공개 커뮤니티와 코치의 비공개 팔로우는 서로 분리된 공간입니다. 한쪽을 켠다고 다른 쪽에 대한 접근이 자동으로 주어지지 않습니다.

01 명시적인 활성화

모듈은 처음에 비공개이며 꺼져 있습니다. 이후 사용자가 닉네임, 공개 범위, 각 관계를 직접 선택합니다.

설정 통합됨
02 직접 선택하는 게시

트로피는 허용한 후에만 게시됩니다. 코치 자료에는 선택한 카테고리만 포함되며, 매우 민감한 데이터는 따로 구분됩니다.

구현됨, 서비스 배포 예정
03 신고된 코치

코치 역할은 단순한 신고입니다. Gymios는 자격증을 확인하지 않습니다. 아는 사람과만 공유하세요.

구현됨
04 세분화된 동의

수신자, 목적, 카테고리, 기간, 만료일은 접근 전에 정해집니다. 서버에서의 취소는 즉시 적용되어 공유된 자료를 차단합니다.

정책과 서비스 통합됨
코치 공유에서 항상 제외
혈당생식 건강의료 문서iCloud의 Apple 건강

코치는 Apple 건강을 직접 보지 않습니다. 자료는 허용된 카테고리로 제한된 목록에서 로컬로 준비된 후, iCloud와 별개인 서비스에서 암호화됩니다.

데이터 경계

앱 밖으로 나가는 것, 그리고 나가지 않는 것.

채널마다 고유한 허용 목록이 있습니다. 하나의 동기화를 켠다고 다른 카테고리에 대한 접근이 자동으로 주어지지 않습니다.

로컬 저장

운동, 영양, 확인된 측정값, 목표, 작업 데이터는 기기에 남습니다.

기본값
Apple 건강

Apple의 보안 화면에서 선택한 카테고리에 대해서만 읽기 또는 쓰기를 합니다.

카테고리별
비공개 iCloud

루틴과 일정, 준비한 경로와 Gymios가 기록한 GPS 기록은 두 가지 별도의 동의가 있을 때만. 건강 앱에서 가져온 아웃도어, 심박 측정값과 심박 구간, 혈당, 영양은 제외됩니다.

선택 사항
Game Center

도전 과제 식별자와 진행률, 건강 측정값이나 자세한 경로는 포함하지 않습니다.

선택 사항
Open Food Facts

제품 정보를 찾기 위해 바코드만 HTTPS로 전송됩니다.

외부 서비스
커뮤니티

의료와 무관한 설정은 iCloud에, 신원, 관계, 트로피, 코치 자료는 별도의 서비스에 저장되며 민감한 내용은 저장 시 암호화됩니다. HTTPS API는 배포되었으며, 공개는 Apple 프로덕션 구성과 검토 절차 검증을 기다리고 있습니다.

API 배포됨
증명 수준

컴파일이 곧 검증은 아닙니다.

기술 문서는 네 가지 증명 수준을 구분합니다. 아래 단계는 필요한 확인 사항을 설명하며, 실제 기기와 배포 단계의 검증은 아직 진행 중입니다.

1코드 통합

기능을 컴파일하고 자동화할 수 있는 규칙을 테스트합니다.

2시뮬레이터

센서 없이 인터페이스와 시나리오를 로컬에서 확인합니다.

3실제 기기

GPS, Watch, HealthKit, Bluetooth, 배터리 사용 시간, 중단을 기기에서 시험합니다.

4배포

배포 버전의 서명, 개인정보 보호, 손쉬운 사용, Apple 요구 사항을 확인합니다.

건강 관련 범위

Gymios는 개인 기록, 경향, 관찰을 보여 줍니다. 이 앱은 의료기기가 아니며, 진단이나 치료를 제공하지 않고, 의료, 스포츠, 영양 전문가를 대신하지 않습니다.

기능의 실제 상태 확인하기

로드맵은 통합된 항목, 검증 중인 항목, 향후 아이디어를 구분합니다.

로드맵 열기