목차
번역 관리 플랫폼은 소프트웨어 개발 라이프사이클의 중요한 교차점에 위치합니다. 출시 전 제품 카피, 마케팅 캠페인, 법적 고지 사항, 내부 커뮤니케이션을 처리합니다 — 조기에 노출될 경우 브랜드를 손상시키고, NDA를 위반하며, 제품 출시를 방해할 수 있는 콘텐츠입니다. 그러나 현지화 분야의 보안은 역사적으로 뒷전이었습니다.
Better i18n에서는 다른 접근 방식을 취했습니다. 보안은 추가 기능이 아닙니다. 사용자 인증 방식부터 번역 문자열의 저장 및 전송 방식까지 플랫폼의 모든 계층에 내재되어 있습니다. 이 글에서는 번역 워크플로우를 보호하는 보안 아키텍처를 분석합니다.
인증: 네 가지 방법, 하나의 원칙
원칙은 단순합니다: 팀에 맞는 인증 방법을 제공하되, 보호 수준을 타협하지 않습니다.
이메일 및 비밀번호(인증 포함)
기본 방식입니다. 이메일과 비밀번호로 생성된 모든 계정은 액세스가 허용되기 전에 필수 이메일 인증을 거칩니다. 이를 통해 유령 계정을 없애고 조직의 모든 사용자가 실제 받은 편지함을 가진 인증된 사람임을 보장합니다.
강력한 비밀번호 요건을 적용하고 최신 솔티드 해싱 알고리즘을 사용하여 모든 자격 증명을 해싱합니다. 평문 비밀번호는 데이터베이스에 저장되지 않습니다.
OAuth: Google 및 GitHub
Google Workspace 또는 GitHub Organizations를 이미 사용 중인 팀의 경우, OAuth 싱글 사인온으로 비밀번호 관리가 완전히 불필요해집니다. 사용자는 기존 ID 제공업체를 통해 인증하며, 이미 적용된 MFA 및 세션 정책을 상속합니다.
개발 팀에게 특히 유용합니다. 개발자들은 이미 GitHub에서 활동합니다 — 동일한 ID로 인증하면 마찰이 줄어들고 또 다른 자격 증명 집합을 관리할 필요가 없어집니다.
이메일 일회용 코드
이메일 OTP는 자격 증명 관리 부담 없이 액세스가 필요한 사용자를 위한 비밀번호 없는 인증을 제공합니다. 각 코드는 일회용이며 시간 제한이 있어 외부 협력자, 프리랜서 번역가 또는 가끔 번역을 검토하는 이해관계자에게 이상적입니다.
비밀번호가 없으면 피싱, 재사용, 또는 무차별 대입 공격에 사용될 비밀번호도 없습니다.
WebAuthn 패스키
패스키는 인증의 미래이며, Better i18n은 오늘날 이를 지원합니다. WebAuthn 표준 위에 구축된 패스키는 개인 키가 사용자 기기를 절대 떠나지 않는 공개 키 암호화를 사용합니다. 가로챌 공유 비밀이 없고, 피싱할 코드가 없으며, 훔칠 비밀번호도 없습니다.
피싱 저항 인증을 의무화하는 엔터프라이즈 팀의 경우, 패스키는 현대 웹 애플리케이션에서 사용 가능한 가장 강력한 보장을 제공합니다.
조직 및 팀 관리
인증은 사용자를 문 안으로 들입니다. 권한 부여는 내부에서 할 수 있는 일을 결정합니다.
Better i18n은 계정당 여러 조직을 지원하며, 각 조직은 자체적으로 격리된 프로젝트, 구성원 및 청구 세트를 가집니다. 이는 여러 고객을 관리하는 에이전시, 별도의 사업 단위를 가진 기업, 조직 전반에 걸쳐 작업하는 컨설턴트에게 중요합니다.
역할 기반 액세스 제어
세 가지 역할이 명확한 권한 경계를 제공합니다:
- 소유자 — 청구, 구성원 관리, 조직 삭제와 같은 파괴적 작업을 포함하여 조직에 대한 완전한 제어권.
- 관리자 — 청구 또는 조직 수준의 파괴적 작업 없이 프로젝트 및 구성원 관리.
- 멤버 — 할당된 프로젝트 내에서 일상적인 번역 작업. 관리 액세스 없음.
이는 의도적으로 단순합니다. 수십 개의 세분화된 권한이 있는 복잡한 RBAC 시스템은 혼란과 잘못된 구성을 만들어냅니다. 명확하게 정의된 세 가지 역할은 권한 관련 보안 실수의 표면적을 줄입니다.
구성원 초대
새 구성원은 /invite/{inviteId}의 전용 수락 페이지가 있는 이메일 초대를 통해 합류합니다. 초대는 특정 조직으로 범위가 제한되며 설정된 기간 후에 만료됩니다. 공개 등록 없음, 셀프 서비스 참여 없음 — 모든 구성원은 그렇게 할 권한이 있는 사람에 의해 명시적으로 초대됩니다.
API 키 보안: 심층 방어
CI/CD 파이프라인, 빌드 시스템, 자동화 스크립트에는 프로그래밍 방식의 액세스가 필요합니다. API 키가 이를 가능하게 하지만, 실수로 인한 노출(.env 파일 유출 및 커밋된 비밀 정보)의 가장 일반적인 경로 중 하나이기도 합니다.
Better i18n은 세 가지 보호 계층을 적용합니다:
조직 수준 범위 지정. 모든 API 키는 단일 조직에 바인딩됩니다. 조직 A용으로 생성된 키는 두 조직이 동일한 소유자를 공유하더라도 조직 B의 데이터에 액세스할 수 없습니다. 이는 키 침해 시 측면 이동을 방지합니다.
해시 저장. API 키는 데이터베이스에 기록되기 전에 해싱됩니다. 해시를 저장하지, 키를 저장하지 않습니다. 공격자가 데이터베이스에 대한 읽기 액세스를 어떻게든 얻더라도 해시를 얻을 뿐 — 사용 가능한 키가 아닙니다. 원시 키는 생성 시 한 번 표시되고 다시는 표시되지 않습니다.
즉시 취소. 키가 침해되거나 침해가 의심되는 경우, 대시보드에서 즉시 취소할 수 있습니다. 취소는 즉각적이고 영구적입니다. 유예 기간, 캐시된 액세스, 잔여 세션이 없습니다.
인프라: 엣지에서 강화
플랫폼은 보안 특성을 위해 특별히 선택된 스택에서 실행됩니다:
Cloudflare Workers가 엣지에서 모든 컴퓨팅을 처리합니다. 이는 서버 관리 없이 자동 DDoS 완화, TLS 종료, 지리적 분산을 의미합니다. 열린 포트, SSH 액세스, 기존 공격 표면이 없습니다.
PlanetScale은 자동 저장 시 암호화, 세밀한 액세스 제어, 감사 로깅을 갖춘 데이터베이스 계층을 제공합니다. 데이터베이스 브랜치를 통해 스키마 변경 사항을 배포 전에 검토할 수 있습니다 — 개발자들이 코드에 사용하는 것과 동일한 풀 리퀘스트 워크플로우입니다.
Cloudflare R2는 저장 시 및 전송 중 암호화로 자산을 저장합니다. 데이터 거주지 제어를 통해 조직은 특정 지역에 데이터를 보관할 수 있어 GDPR 및 데이터 주권 요건에 중요합니다.
컴플라이언스: SOC 2, ISO 27001, GDPR
엔터프라이즈 조달 팀은 약속이 아닌 문서가 필요합니다. Better i18n은 세 가지 주요 컴플라이언스 프레임워크에 맞추어져 있습니다:
SOC 2 Type II는 보안 제어에 대한 독립적인 제3자 검증을 제공합니다. 감사는 번역 관리 플랫폼에 가장 관련성이 높은 세 가지 신뢰 서비스 기준인 보안, 가용성, 기밀성을 다룹니다.
ISO 27001 인증은 정보 보안 관리 시스템(ISMS)이 보안 위험을 체계적으로 식별, 평가 및 관리하기 위한 국제 표준을 따른다는 것을 의미합니다.
GDPR 컴플라이언스는 데이터 처리 계약, 삭제 권리, 데이터 최소화, 투명한 동의를 다룹니다. 유럽 팀과 EU 사용자 데이터를 처리하는 모든 조직에게 이는 선택 사항이 아닙니다.
암호화: 전송 중 및 저장 시
시스템과 Better i18n 사이에 이동하는 모든 데이터는 TLS 1.3으로 암호화됩니다 — 전임자보다 빠른 핸드셰이크와 더 강력한 암호화 스위트를 제공하는 프로토콜의 최신 버전입니다.
저장 시 데이터는 모든 스토리지 계층에 걸쳐 AES-256으로 암호화됩니다. 여기에는 데이터베이스, 객체 스토리지 및 임시 캐시가 포함됩니다. 암호화 키는 자동 교체를 통해 인프라 제공업체의 키 관리 시스템을 통해 관리됩니다.
인증 세션은 Better Auth가 관리하는 보안, HttpOnly, SameSite 쿠키를 사용합니다. 이 조합은 크로스 사이트 스크립팅(XSS)이 세션 토큰에 액세스하는 것을 방지하고, 크로스 사이트 요청 위조(CSRF) 공격을 차단하며, 쿠키가 HTTPS를 통해서만 전송되도록 합니다.
결론
현지화에서의 보안은 체크박스를 채우는 것이 아닙니다 — 물론 그것도 합니다. 번역 콘텐츠가 소스 코드 및 고객 데이터와 동일한 보호를 받을 자격이 있는 민감한 지적 재산임을 인식하는 것입니다.
Better i18n은 네 가지 인증 방법(피싱 저항 패스키 포함), 역할 기반 액세스 제어가 있는 조직 수준 격리, 강화된 API 키 관리, Cloudflare 엣지 네트워크의 암호화된 인프라, SOC 2, ISO 27001 및 GDPR 준수를 제공합니다.
귀하의 번역은 더 나은 보안을 받을 자격이 있습니다. 이제 그것을 갖추었습니다.