Fundamentos / PR2 · Pertencimento dos dados

Onde ficam os dados do projeto no estado de convidado, depois de iniciar a sessão e ao trocar de conta

O SlateX guarda os dados do estado de convidado e os do estado autenticado em dois bancos de dados físicos separados: eles usam o mesmo modelo de dados, mas não são o mesmo arquivo. O banco de convidado cuida apenas dos registros feitos sem login, e o banco de dados da conta cuida dos registros depois de iniciar a sessão, sendo que só o banco da conta tem um banco de dados privado na nuvem configurado. Ao trocar de conta, o pertencimento também não é tratado como “quem está logado agora fica com todos os registros”, e sim julgado registro por registro pelas condições de identidade da Apple.

Bancos separados resolvem a pergunta “os dados caem de que lado”, e não garantem resultado nenhum de segurança, de privacidade ou de comportamento entre aparelhos.

O banco de convidado e o banco da conta são dois arquivos

O banco de convidado e o banco de dados da conta ficam num subdiretório dedicado dentro do diretório de suporte do app. Essa posição não é uma localização Documents que o usuário percorre direto no app de arquivos do sistema, e por isso não se pode ler “encontrei o arquivo do banco de dados” como se já se tivesse obtido toda a mídia, nem escrever o backup isolado do arquivo do banco de dados como uma solução completa de backup.

Os dois bancos compartilham a mesma instância do modelo de dados, e assim projetos, cenas, registros de tomada e material de continuidade continuam expressos pela mesma estrutura. A diferença está no ponto de armazenamento: os dados de convidado entram no banco de convidado, e os dados da conta depois de iniciar a sessão entram no banco de dados da conta. O código só configura banco de dados privado na nuvem para o banco da conta; o banco de convidado não tem nenhuma configuração de envio à nuvem em todo o seu ciclo de vida. O que se diz aqui é fato de configuração do código, e não conclusão de teste do tipo “já verificamos neste aparelho que nada é enviado”.

Foto e vídeo não são a mesma coisa dentro do banco

Os dados da foto são guardados como dados binários dentro do banco de dados, e por isso eles viajam junto com o registro do banco. O vídeo é diferente: no banco fica um caminho que aponta para um arquivo local, e não o arquivo de vídeo em si dentro do mesmo campo do banco de dados.

Essa diferença significa que o registro de foto e o caminho de vídeo não podem ser entendidos como o mesmo mecanismo na troca de aparelho. O código consegue explicar o que cada um guarda no banco de dados, mas não se pode prometer com base nisso que “ao trocar de aparelho o arquivo certamente estará lá” nem que “certamente não estará”. A parte receptora só pode encará-los como duas formas de armazenamento diferentes, e não tratar a sincronização do banco de dados como se o arquivo de mídia já tivesse chegado.

Haver um registro de mídia no banco de dados não quer dizer que o arquivo local correspondente já apareceu necessariamente em outro aparelho.

Depois de iniciar a sessão, o pertencimento não é trocar o dono do banco inteiro

O pertencimento dos dados do lado da conta é julgado registro por registro pelas condições de identidade da Apple. O projeto e os registros alcançáveis a partir dele precisam conseguir cair no caminho de pertencimento correspondente à identidade atual, e não se pode, só porque determinada conta está logada neste momento, considerar que tudo no banco pertence a essa conta.

Esse julgamento também afeta se, ao trocar de conta, uma linha ainda pode ser lida, migrada ou excluída. Em outras palavras, o estado de início de sessão é só uma das condições para entrar em qual ambiente de dados; a quem pertence um registro concreto depende ainda por qual cadeia de relações ele consegue voltar até uma identidade correspondente.

Os dados de convidado só migram quando o início de sessão é iniciado de propósito

A passagem dos registros de convidado para o banco da conta não acontece de vez quando o início de sessão é restaurado automaticamente. Só o caminho em que a pessoa toca login de propósito permite iniciar a migração de convidado; quando o app restaura o início de sessão a partir de credenciais já existentes, ele não leva o banco de convidado automaticamente para o outro lado.

A migração em si é executada por fases: primeiro se faz um snapshot do banco de convidado, depois se escrevem no banco da conta os objetos migráveis e, em seguida, usa-se um novo contexto para verificar atributo por atributo, relação por relação e pertencimento por pertencimento. Somente com a verificação aprovada os registros de convidado do lado de origem são limpos. Se qualquer fase falhar, o lado de origem não entra na etapa de limpeza.

Se a verificação não passa, o original fica: é preferível não mexer a mexer pela metade. Essa frase descreve a ordem de migração atual, e não significa que a rede, a nuvem ou outro aparelho já tenham feito qualquer verificação adicional.

Até onde esta página consegue responder

Esse mecanismo responde em que banco caem respectivamente os registros de convidado e os da conta, qual banco tem banco de dados privado na nuvem configurado, com que forma a mídia aparece no banco de dados e como, num login iniciado de propósito, os dados de convidado migram depois de conferidos. Ele não comprova um modelo específico de criptografia nem garantias de privacidade de alcance geral, não comprova que ninguém é incapaz de ler nada e não transforma a configuração do código em uma auditoria de segurança de nível de aparelho já concluída.

Se a pergunta passar a ser “outro aparelho vai mostrar a mesma mídia no mesmo instante”, “depois de excluir o app ainda dá para recuperar” ou “tal norma está por isso satisfeita”, este texto só descreve como os dados estão realmente organizados no diretório de trabalho desta máquina e não extrapola para esses casos.

FAQ

O estado de convidado e o estado autenticado usam o mesmo banco de dados?

Não. Os dois estados usam arquivos de banco de dados físicos separados, mas compartilham a mesma instância do modelo de dados; os registros de convidado entram no banco de convidado, e os registros depois de iniciar a sessão entram no banco de dados da conta.

O banco de convidado também entra no banco de dados privado na nuvem?

O código atual não configura envio à nuvem para o banco de convidado; só o banco de dados da conta tem banco de dados privado na nuvem configurado. Essa formulação descreve a configuração do código e não equivale a ter provado, por teste em aparelho, todo o comportamento de rede.

Por que foto e vídeo não podem ser entendidos com a mesma expectativa entre aparelhos?

Porque os dados da foto são guardados dentro de um campo do banco de dados, enquanto o vídeo guarda no banco apenas um caminho local. As duas formas de armazenamento são diferentes, e não se pode inferir só da existência do registro no banco que o outro aparelho já recebeu o arquivo correspondente.

Quando os dados de convidado passam para a conta autenticada?

Só quando a pessoa inicia o início de sessão de propósito é que a migração de convidado pode começar; restaurar um estado de início de sessão já existente não migra nada automaticamente. A migração passa por escrita e verificação, e, se a verificação não passa, os registros de origem são preservados.


Axiom One LLC — SlateX. Os números acima são os de 2026-09-24.