기초와 표준 / PR4 · 삭제 범위

로그아웃, 계정 삭제, 프로젝트 삭제는 각각 실제로 무엇을 지우는가

로그아웃, 계정 삭제, 프로젝트 삭제는 서로 다른 세 동작이며 지우는 범위가 공용되지 않습니다. 로그아웃은 세션을 수습하고 이 기기의 세 가지를 정리합니다. 게스트 데이터베이스, 게스트 소재 파일, 그리고 iCloud와 동기화하던 이 기기의 로컬 사본입니다. 귀하의 iCloud 비공개 데이터베이스 기록도, 기기의 원본 영상도 지우지 않습니다. 「무엇을 지웠는가」를 따지기 전에 어떤 동작을 했는지 확인하십시오.

같은 「지우기」라는 말이 서로 다른 입구에 떨어지면 동작하는 데이터 범위가 다릅니다. 한 경로 결과를 나머지 두 경로에 덮어쓸 수 없습니다.

로그아웃: 이 기기에는 이전 제작팀의 내용을 남기지 않지만, 귀하의 클라우드 데이터는 한 줄도 움직이지 않습니다

로그아웃의 순서는 먼저 현재 데이터 쓰기와 외부 동작을 세운 뒤 로그인 자격 증명을 처리하고, 그다음에 이 기기를 정리합니다. 정리는 세 곳에 미칩니다. 로컬 게스트 데이터베이스의 실체 행이 비워지고, 게스트 소재와 콘티뉴이티 라이브러리 표지 파일이 물리적으로 삭제되며(고정된 게스트 루트 기록만 남음), 이 기기에서 귀하의 iCloud와 변경 사항을 주고받던 로컬 사본도 로그아웃을 누르는 그 순간 함께 지워집니다. 다음 앱 실행을 기다리지 않습니다. 핵심 경계는 그대로입니다. 귀하의 iCloud 비공개 데이터베이스 기록은 한 줄도 지우지 않으며, 다시 로그인하면 되찾을 수 있습니다.

이 순서는 「먼저 데이터를 지우고 로그아웃 가능 여부를 본다」가 아닙니다. 자격 증명 처리가 정리보다 앞서며, 앞선 로그아웃 단계가 실패하면 뒤의 정리는 이어지지 않습니다. 실패 화면은 재시도만 요구하고 세션 상태도 바뀌지 않습니다. 로컬 사본을 지우기 전에 앱은 iCloud에 매우 짧은 시간을 주어 이 기기의 마지막 변경이 전달되었음을 확인합니다. 이는 동기화에 잠깐 시간을 주는 것이지 로그아웃을 조건부 동작으로 만드는 것이 아닙니다. 따라서 「로그아웃은 아무것도 지우지 않는다」「로그아웃은 클라우드 데이터를 지운다」「로그아웃하면 이 기기의 소재가 전부 사라진다」는 세 말 모두 이 동작의 실제 모습과 맞지 않습니다. 로컬은 실제로 깨끗이 지워지지만 원본 영상은 하나도 건드리지 않습니다. 그것을 가져가는 것은 계정 삭제나 시스템 수준의 기기 삭제뿐입니다.

로그아웃은 이 기기의 세 가지를 정리합니다: 게스트 데이터베이스, 게스트 소재 파일, 그 iCloud 로컬 사본. 귀하의 iCloud 비공개 데이터베이스의 어떤 데이터도, 기기의 원본 영상도 지우지 않습니다.

계정 삭제: 범위를 먼저 동결하고, 집합을 대조한 뒤, 마지막에 세션을 수습합니다

계정 삭제는 다른 경로를 갑니다. 먼저 현재 Apple 신원을 기준으로 처리할 미디어 귀속 범위를 동결하는데, 귀속은 네 갈래의 관계 경로에서 나옵니다. 이어서 게스트 데이터베이스를 비우미디어 정리 목록을 작성한 뒤목표 집합을 다시 가져옵니다. 다시 가져온 집합이 앞서 동결한 집합과 맞지 않으면, 작업은 오류를 내고 롤백되며, 범위를 온전히 확인하지 못한 채 계속 지우지 않습니다.

집합 대조를 통과한 뒤에야 계정 쪽 미디어와 데이터베이스 행 삭제에 들어가고, 마지막에 세션을 끝내고 설정을 정리합니다. 코드가 지우는 것은 이 기기의 계정 데이터 환경에서 그 신원의 귀속으로 가져온 기록이고, 이 증거로 다른 기기나 클라우드가 언제 같은 상태에 도달하는지까지 증명할 수는 없습니다.

계정 삭제는 Apple 로그인 권한 취소와도 같지 않습니다. 현재 소스 코드는 권한 취소를 집행하지 않는다고 분명히 적혀 있고, 설정 화면에서는 그 층의 작업을 시스템 설정으로 안내할 뿐입니다. 그러므로 이 페이지는 「계정 데이터를 지운다」를 「외부 권한을 한 단계로 전부 취소한다」로 쓸 수 없습니다.

프로젝트 삭제: 이 프로젝트만 처리하고 계정 세션은 건드리지 않습니다

프로젝트 삭제는 프로젝트급 동작입니다. 먼저 이 프로젝트에 연결된 미디어의 경로를 동결하고, 그다음 데이터베이스 커밋 단계로 들어갑니다. 프로젝트와 그 하위 관계까지 커밋으로 삭제한 뒤에야, 미디어 정리 목록이 물리 파일을 계속 정리할 수 있는 상태에 들어갑니다. 이 동작의 범위는 목표 프로젝트와 프로젝트에서 아래로 도달 가능한 기록, 미디어이고, 그것으로 계정이 로그아웃되거나 클라우드 로그인 상태가 고쳐지지 않습니다.

프로젝트 삭제는 테이크 기록 등 각급 삭제와 마찬가지로, 미디어 정리를 데이터베이스 캐스케이드에 자동 맡기지 않습니다. 단계를 나눈 목록 하나를 두고, 먼저 목록을 준비하고, 데이터베이스 커밋 중으로 표시하고, 커밋 뒤에 목록을 커밋 완료로 바꾸고, 마지막에 물리 파일 정리로 들어갑니다. 데이터베이스는 이미 커밋되었는데 뒤따르는 파일 정리가 실패하면, 프로젝트를 되살리기 위해 데이터베이스를 롤백하지 않습니다. 목록은 그대로 남아, 다음 시작 때 커밋을 확인한 그 부분의 정리 작업을 계속 처리할 수 있습니다.

프로젝트 삭제는 휴지통 동작이 아닙니다. 현재 「최근 삭제 항목」도 실행 취소 경로도 없습니다. 그것이 설명하는 것은 이 기기에서 이번 프로젝트 삭제가 어떻게 집행되는가이고, 다른 기기나 클라우드가 언제 그것과 일치하는지는 증명하지 않습니다.

미디어 정리에 왜 세 단계 목록이 또 필요한가

미디어 파일은 데이터베이스 캐스케이드 삭제를 따라 사라지지 않으므로, 삭제 경로는 단계를 가진 정리 목록을 사용해 「준비 중」과 「데이터베이스 커밋 중」, 「데이터베이스 커밋 완료」를 나눕니다. 커밋을 확인한 목록만 다음 시작 때 파일을 계속 처리할 수 있습니다. 아직 준비 단계이거나 커밋 중인 목록은 앱이 다시 열렸다는 이유로 삭제가 끝난 것처럼 스캔되지 않습니다.

초안 미디어가 아닌 이런 목록은 동시에 한 개만 존재할 수 있습니다. 이미 하나가 수습되지 않았다면 새 작업은 병행 처리되거나 여러 줄로 서는 대신 거절됩니다. 따라서 현재 구현을 여러 프로젝트를 동시에 삭제할 수 있는 것처럼 서술해서도 안 되고, 시작 때의 이어 처리를 「시작할 때마다 잔여물을 전부 자동 정리한다」로 서술해서도 안 됩니다.

이 페이지가 증명할 수 없는 것

세 경로는 이 기기의 데이터베이스와 미디어 파일이 각자 동작에서 처리되는 순서, 그리고 어느 단계에서 실패하면 어디서 멈추는지는 설명할 수 있습니다. 클라우드와 다른 기기가 최종적으로 언제 일치하는지는 설명할 수 없고, 프로젝트 삭제를 기기 간 취소 수단으로 쓸 수도 없으며, 계정 삭제를 외부 로그인 권한 취소로 쓸 수도 없습니다.

한 번의 조작 뒤에 다른 기기에서 무엇이 보이는지 판단하려면 별도의 실제 동기화 및 기기 측 검수가 필요합니다. 이 글은 「이 기기에서 코드가 실제로 무엇을 지웠는가」에서 멈춥니다.

FAQ

로그아웃하면 계정 데이터베이스의 클라우드 기록도 삭제됩니까?

계정 데이터 삭제 경로를 타지 않습니다. 로그아웃은 세션을 수습하고 이 기기의 세 가지——게스트 데이터베이스, 게스트 소재 파일, iCloud와 동기화하던 로컬 사본——를 정리하지만, 귀하의 iCloud 비공개 데이터베이스 기록은 이 동작의 삭제 목표가 아니며 다시 로그인하면 되찾습니다. 귀하가 촬영한 원본 영상도 이번 정리 대상이 아닙니다.

계정 삭제는 왜 먼저 집합 대조를 합니까?

삭제 전에 현재 신원의 귀속으로 가져온 범위를 하나 동결해 두고, 같은 조건으로 다시 한 번 가져오기 때문입니다. 양쪽 집합이 맞지 않으면 롤백하여, 귀속 범위를 확인할 수 없는 상태에서 계속 지우는 일을 피합니다.

프로젝트 삭제하면 함께 로그아웃됩니까?

그렇지 않습니다. 프로젝트 삭제는 프로젝트급 동작으로, 목표 프로젝트의 데이터베이스 관계와 미디어 정리를 처리할 뿐 계정 로그인 상태를 바꾸지 않습니다.

삭제한 프로젝트를 「최근 삭제 항목」에서 되돌릴 수 있습니까?

현재 휴지통도, 최근 삭제 항목도, 실행 취소 경로도 없습니다. 미디어 정리 목록은 데이터베이스 커밋과 물리 파일 정리 순서를 보증하기 위한 것이지 복원 수단이 아닙니다.


Axiom One LLC — SlateX. 위 숫자는 2026-09-24 기준입니다.