Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
보안, 개인 정보 보호 및 데이터 상주
환자 데이터는 어떻게 보호되나요? EU 데이터 상주, 프로젝트 격리, 쌍별 ID, 자격 증명, 동의, 출처, 환자에게 공개되는 감사 기록 및 비공개 베타의 한계를 설명합니다.
의료 데이터는 애플리케이션이 보유할 수 있는 가장 민감한 데이터입니다. 이 페이지는 Anpheros Platform이 현재 이를 어떻게 보호하는지 — 구현된 내용만 — 그리고 비공개 베타 동안 여전히 제한적인 부분이 무엇인지 나열합니다.
데이터 상주
- 모든 플랫폼 데이터는 유럽 연합에 저장 및 처리됩니다. 서비스 및 데이터베이스는 Google Cloud
europe-west4(네덜란드)에 있으며, 웹훅 전달 큐는europe-west3(프랑크푸르트)에, 액세스 로그의 추가 전용 내보내기는 BigQuery EU 위치에 있습니다. - 미국 데이터 지역: HIPAA 비즈니스 제휴 계약(아래 참조)에 따라 프로덕션 고객에게 요청 시 제공됩니다. 이 경우 미국 환자 데이터는 미국 지역을 벗어나지 않습니다.
- 문서는 고객 관리 암호화 키(CMEK)로 암호화된 EU 스토리지 버킷에 저장됩니다. 원본은 최종 확정 후 변경할 수 없으며, SHA-256 체크섬과 크기가 기록됩니다.
애플리케이션 간 격리
- 모든 API 키는 하나의 프로젝트에 속합니다. 프로젝트는 자신이 생성한 환자만 볼 수 있습니다. 샌드박스 환경에서는 다른 프로젝트가 볼 수 없는 자체 합성 환자 복사본을 포함합니다.
- 쌍별 식별자: 각 프로젝트는 동일한 사람에 대해 자체 ID를 받습니다. 내부 ID는 플랫폼을 벗어나지 않으므로 애플리케이션 간에 ID를 상관시킬 수 없습니다.
- 도달할 수 없는 레코드는
404을 반환하며,403를 반환하지 않으므로 환자의 존재 여부를 확인할 수 없습니다. - 샌드박스와 프로덕션은 별도의 데이터베이스입니다. 샌드박스 키(
sk_test_)는 실제 환자에게 물리적으로 접근할 수 없습니다. - 환자의 동의 하에 조직은 다른 조직이 작성한 내용을 포함하여 전체 기록을 읽을 수 있지만, 자신이 작성한 내용만 변경하거나 삭제할 수 있습니다.
자격 증명
- API 키는 한 번만 표시되며 SHA-256 해시로만 저장됩니다. 키는
read/write스코프를 가지며 환경을 넘어서지 않습니다. - OAuth 2.1은 PKCE(S256)가 필수입니다.
redirect_uri은 정확하게 등록되어야 합니다. 액세스 토큰은 30분, 새로고침 토큰은 30일 동안 유효하며 사용할 때마다 회전됩니다. - 새로고침 토큰 재사용 감지: 이미 사용된 새로고침 토큰을 제시하면 전체 토큰 체인이 취소됩니다.
- 토큰 응답에는
Cache-Control: no-store가 포함됩니다. OpenID Connectid_token은 RS256으로 서명되며, 공개 키는/oauth/jwks에서 게시됩니다.
동의, 출처 및 감사
- 환자는 호스팅된 동의 페이지에서 레코드와 기간(30, 90, 180 또는 365일)을 선택하여 애플리케이션에 액세스 권한을 부여합니다. 범위는 리소스 유형 및 작업별이며, 선택적으로 카테고리로 필터링할 수 있습니다. 모든 부여는 FHIR
Consent리소스로 미러링됩니다. - 철회는 다음 요청 시 효력이 발생하며, 애플리케이션은 다시 새로고침할 수 없습니다.
- 모든 쓰기 작업은
Provenance리소스를 생성합니다. 누가 작성했는지(환자, 의료 전문가, 장치, 가져오기 또는 AI), 어떤 조직을 위한 것인지, 어떤 소스 시스템에서 왔는지 기록됩니다. - 모든 읽기 작업은 환자에게 기록되고 표시됩니다. 프로젝트 자체 API 키로 수행된 읽기 작업과 AI 모델을 위해 구축된 컨텍스트를 포함합니다.
전송 및 웹 보안
- HTTPS만 사용하며, HTTP Strict Transport Security를 적용합니다. API 응답은 제한적인 Content-Security-Policy,
X-Content-Type-Options: nosniff,X-Frame-Options: DENY및 엄격한 referrer policy를 포함합니다. - 웹훅 전송은 타임스탬프와 본문에 대해 HMAC-SHA256으로 서명됩니다. 수신자는 5분보다 오래된 서명은 거부해야 합니다. 이벤트는 ID와 버전을 포함하며, 임상 콘텐츠는 포함하지 않습니다.
- 속도 제한: 자격 증명 및 IP당 분당 600개 요청; JSON 본문 최대 2 MiB; 문서 최대 25 MiB.
검색 엔진 및 AI 크롤러
공개 페이지(anpheros.com, 플랫폼 소개 및 이 문서)는 검색 엔진 및 AI 크롤러에 개방됩니다. API, 대시보드, OAuth 및 동의 페이지, 환자 앱(app.anpheros.com)은 noindex 및 robots.txt 규칙에 따라 제외됩니다. 이 중 어느 것도 인증 없이 환자 데이터를 반환하지 않습니다.
HIPAA (미국 클리닉)
미국에 있는 클리닉의 경우, Anpheros는 비즈니스 파트너(Business Associate)입니다. HIPAA 보안 규칙에 맞춰 다음과 같이 구현됩니다.
| 보호 조치 | Anpheros의 구현 방식 |
|---|---|
| 책임 할당, 위험 분석, 서면 정책(§164.308) | 지정된 보안 책임자; 연간 위험 분석; 10가지 서면 정책 (접근, 암호화, 로깅, 사고 대응, 침해 통지, 보존 및 백업, 교육, 장치, 비상 접근, 공급업체), 6년간 보관 |
| 고유 사용자 식별, 접근 제어(§164.312(a)) | 모든 키, 토큰 및 사용자는 고유한 식별자를 가짐; 프로젝트는 자체 환자만 볼 수 있음; 모든 읽기 작업에 동의 범위 적용; 프로덕션 프로젝트가 있는 조직은 MFA 또는 SSO 필수; 대시보드에서 자동 로그오프 |
| 감사 제어(§164.312(b)) | 모든 읽기 및 쓰기 작업은 로깅, 해시 체인화, 추가 전용으로 내보내기 가능; 환자가 볼 수 있음 |
| 무결성(§164.312(c)) | 버전 관리된 리소스, 모든 쓰기 작업에 대한 출처 정보, SHA-256으로 불변 문서 처리 |
| 전송 보안(§164.312(e)) | TLS 1.2+, HSTS, 서명된 웹훅, HTTPS 전용 전송 |
| 저장 데이터 암호화 | 데이터베이스 및 백업 암호화; 고객 관리 키로 문서 암호화 |
| 비상 계획(§164.308(a)(7)) | 일일 백업, 시점 복구, 90일마다 복원 드릴 및 기록 |
| 침해 통지(§164.410) | BAA에 따라 5 영업일 이내에 Covered Entity에 통지 (법적으로 60일) |
| 비즈니스 파트너 체인(§164.308(b)) | Google Cloud는 자체 BAA 하에 운영; 하위 처리자 목록은 BAA 부록에 명시 |
프로덕션 고객을 위해 비즈니스 파트너 계약(Business Associate Agreement) 및 미국 데이터 리전을 요청 시 제공합니다 ([email protected]으로 문의). BAA 서명 후 미국 환자 데이터에 대한 프로덕션이 가능합니다. 샌드박스는 합성 환자만 포함하므로 미국 개발자는 BAA 없이도 오늘부터 개발할 수 있습니다. Anpheros는 SOC 2 또는 HITRUST 인증을 받지 않았습니다. 병원 고객이 요구할 경우 SOC 2 Type II 감사를 계획하고 있습니다.
현재 제한 사항 (비공개 베타)
- 자동 장애 조치 없는 단일 영역 호스팅; 아직 계약된 SLA가 없습니다.
- 프로덕션 키는 서명된 데이터 처리 계약이 있는 검증된 조직에 발급됩니다. 베타 파트너는 합성 데이터로 시작합니다.
- SMART EHR 시작 및 OpenID
nonce매개변수는 아직 지원되지 않습니다.
관련 자료
- 개발자를 위한 GDPR 및 건강 데이터
- 의료 데이터 출처 설명: 누가 무엇을 작성했는지, 그리고 기록하는 방법
- 동의 및 액세스 모델
- 인증 및 OAuth
- 제한 및 속도 제한
- 안정성, 상태 및 사고: 모니터링, 백업, 사고 통신
- 아키텍처
- 개발자를 위한 유럽 건강 데이터 공간(EHDS)
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card