Albarium Ondersteuning Privacy Momentopname English

Momentopname-formaat (Tijdmachine), versie 1

Albarium legt vóór elke actie op je albums en mappen een momentopname vast. Foto's verwijderen in de werkbank is zo'n actie niet: daarvoor legt de app geen momentopname vast, ook al verdwijnen die foto's daarmee uit je albums. Dit document beschrijft precies wat er in zo'n momentopname staat, zodat je zelf kunt controleren wat de app bewaart. Een momentopname is een gewoon tekstbestand in JSON; je kunt het exporteren in de Tijdmachine (open een actie, dan Momentopname van vlak ervoor) en openen in elke teksteditor.

Wat er wel en niet in staat

Wel:

Niet:

De app verstuurt een momentopname nergens heen. Hij staat in de opslag van de app op je iPhone en gaat, net als andere appgegevens, mee in een reservekopie van je iPhone (in iCloud of op je computer), als je iPhone die maakt. Verder komt hij alleen buiten de app als je hem zelf exporteert.

Bestand

Velden

VeldTypeBetekenis
formatVersiongeheel getalVersie van dit formaat. Nu 1.
idUUID (tekst)Unieke naam van deze momentopname.
createdAtdatumWanneer de momentopname is gemaakt.
reason.kindtekstDe actie waarvoor de momentopname is gemaakt: merge (samenvoegen), moveToNewFolder, moveToFolder, bundleAsFolder (bundelen in een map), rename, deleteAlbums, archiveAndDelete (eerst archiveren, dan wissen), cleanUp (werkbank: foto's naar een ander album verplaatst) of restore (herstel). Lezers moeten onbekende waarden accepteren.
reason.titletekstKorte naam van waar de actie over ging, zoals de titel van het nieuwe album.
appVersiontekstVersie van de app die de momentopname schreef.
structure.albumsobjectPer album-ID: title (tekst), assetIDs (lijst foto-ID's, in albumvolgorde, zonder dubbele) en, alleen als het album verborgen foto's bevat, hiddenAssetIDs (zie hieronder).
structure.foldersobjectPer map-ID: title (tekst) en children (lijst album- en map-ID's, in volgorde).
structure.topLevellijstDe albums en mappen op het hoogste niveau, in volgorde.
cloudIDsobjectPer foto-ID (alleen zichtbare foto's die in een album staan, dus niet die in hiddenAssetIDs) het iCloud-ID (PHCloudIdentifier). Ontbreekt als Foto's er geen gaf.

ID's zijn de localIdentifiers van Foto's op dit toestel (bijvoorbeeld B84E5A21-…/L0/040 voor een album, …/L0/001 voor een foto). Ze zijn alleen op dit toestel geldig; de iCloud-ID's maken het mogelijk dezelfde foto's later op een ander toestel terug te vinden.

Verborgen foto's

Foto's die je in Foto's hebt verborgen, toont, telt en analyseert de app niet. In onze tests in de simulator, op iOS 27.0 met het album Verborgen vergrendeld (de standaard), gaf iOS ze de app helemaal niet: ze stonden dan niet in de momentopname, niet in assetIDs en niet in cloudIDs. Dat geldt voor foto's die al verborgen waren toen de momentopname werd gemaakt: een foto die je daarna verbergt, blijft erin staan, met zijn ID en, als Foto's dat gaf, zijn iCloud-ID. Zonder die vergrendeling, op iOS 26 en op een echte iPhone is dat niet getest. Een verborgen foto blijft wel in zijn albums staan. Daarom wist de app geen album waarvan hij denkt dat er een verborgen foto in staat; bij samenvoegen blijft zo'n bronalbum staan. Zeker weten doet de app het niet: hij kan een verborgen foto missen, en een album laten staan waarin geen verborgen foto staat. Gaat een album met een verborgen foto toch weg, dan blijft de foto in Foto's in het album Verborgen, maar zet terugzetten hem niet terug in het album.

Geeft iOS verborgen foto's wél aan de app, dan legt de momentopname per album alleen hun ID's vast in hiddenAssetIDs (gesorteerd; de volgorde is niet zichtbaar), en is terugzetten erop gebouwd om ze terug te zetten in precies die albums. Dat is niet getest, omdat iOS ze in onze tests niet gaf. Het veld ontbreekt bij een album zonder bekende verborgen foto's. Staan in een oudere momentopname verborgen foto's tussen de assetIDs, dan haalt de app ze daar bij terugzetten eerst uit.

Elk album en elke map hoort precies één keer in de boom te staan: ofwel in topLevel, ofwel in de children van één map.

Voorbeeld

{
  "appVersion" : "1.0 (1)",
  "cloudIDs" : {
    "9A1B2C3D-4E5F-6A7B-8C9D-0E1F2A3B4C5D/L0/001" : "9A1B2C3D-4E5F-6A7B-8C9D-0E1F2A3B4C5D:001:AbCdEf0123456789"
  },
  "createdAt" : "2025-10-14T08:52:45Z",
  "formatVersion" : 1,
  "id" : "3F2A9C1E-7B4D-4E8A-9F21-6C0D5B8E4A17",
  "reason" : {
    "kind" : "merge",
    "title" : "Zomer 2025"
  },
  "structure" : {
    "albums" : {
      "B84E5A21-0C3F-4D7E-A1B2-9F8E7D6C5B4A/L0/040" : {
        "assetIDs" : [
          "9A1B2C3D-4E5F-6A7B-8C9D-0E1F2A3B4C5D/L0/001",
          "1F2E3D4C-5B6A-7988-9AAB-BCCDDEEFF001/L0/001"
        ],
        "title" : "2025-07-14 Efteling"
      },
      "C95F6B32-1D40-4E8F-B2C3-A09F8E7D6C5B/L0/040" : {
        "assetIDs" : [

        ],
        "title" : "2025-07-15 Strand"
      }
    },
    "folders" : {
      "D06A7C43-2E51-4F90-C3D4-B1A09F8E7D6C/L0/040" : {
        "children" : [
          "C95F6B32-1D40-4E8F-B2C3-A09F8E7D6C5B/L0/040"
        ],
        "title" : "Reizen"
      }
    },
    "topLevel" : [
      "B84E5A21-0C3F-4D7E-A1B2-9F8E7D6C5B4A/L0/040",
      "D06A7C43-2E51-4F90-C3D4-B1A09F8E7D6C/L0/040"
    ]
  }
}

Hoe herstellen werkt

Herstellen zet de albumstructuur terug zoals in de momentopname. Albums die nog bestaan worden teruggezet (naam, foto's, volgorde, map); albums die intussen gewist zijn worden opnieuw gemaakt met dezelfde foto's; albums en mappen die er sindsdien bij kwamen worden gewist, behalve albums waarvan de app denkt dat er een verborgen foto in staat: die blijven staan (staan ze in een map die gewist wordt, dan eerst in de dichtstbijzijnde map erboven die blijft, of op het hoogste niveau). Foto's zelf worden daarbij nooit gewist.

Versies