- domain-packs/ios-app/: komplett referanse-pakke (8 komponenter) — pack.json med components-map, conventions.md, 4 patterns/, gotchas.md, checklist.md splittet i 3 (App Store-submission + security-privacy/MASVS 2.1 + accessibility/WCAG 2.2 AA), 3 scaffold/-maler (PrivacyInfo.xcprivacy-plist, NSUsageDescription-inventar, ASC-metadata), eksempel-feature-brief i Voyage strict-mode-format, glossary.md. Hver teknisk påstand verifisert mot Apple Developer / W3C WAI / OWASP MAS. - domain-packs/claude-code-plugin/: stub — pack.json + conventions.md + gotchas.md + checklist.md + glossary.md ferdige (ekstrahert fra ktg-privat-konvensjoner); patterns/scaffold/examples er stubs. - docs/domain-pack-spec.md: § D2/D3/D4/D7 + restrisiko oppdatert — pack.json components-felt, core/supplementary låst til manifestet, checklist-splitt-konvensjon, snapshot-materialiserings-mekanikk presisert, iOS-versjons-korreksjon (iOS 26, ikke "iOS 18/19"), D7 → "forfattet i S6". - prototype-run/friksjon.md: #9 (Akashic-briefen refererer "iOS 19" som ikke finnes — rettes i S7) + S6-prosessnotater (checklist-splitt bekreftet nødvendig, components-gap fylt, verifiserings-asymmetri ios-app vs claude-code-plugin notert). - CLAUDE.md: peker til domain-packs/ under § Status. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
65 lines
2.8 KiB
XML
65 lines
2.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
Template: PrivacyInfo.xcprivacy — Apple Privacy Manifest
|
|
domain-pack: ios-app · component: scaffold
|
|
Påkrevd for App Store-innsending siden 2024-05-01.
|
|
Dette eksempelet er for en ALL-LOCAL-app som ikke tracker, ikke samler data,
|
|
og kun bruker UserDefaults (en required-reason-API). Tilpass per app:
|
|
- NSPrivacyTracking: true KUN hvis appen tracker på tvers av apper/nettsteder
|
|
- NSPrivacyTrackingDomains: liste over tracking-domener (tom ellers)
|
|
- NSPrivacyCollectedDataTypes: én dict per innsamlet datatype (tom hvis ingenting)
|
|
- NSPrivacyAccessedAPITypes: én dict per required-reason-API-kategori appen bruker,
|
|
med tillatt reason-kode (se Apple-docs for kategorier + koder)
|
|
Hver tredjeparts-SDK må levere SIN EGEN PrivacyInfo.xcprivacy — verifiser.
|
|
Docs: https://developer.apple.com/documentation/bundleresources/privacy-manifest-files
|
|
https://developer.apple.com/documentation/bundleresources/describing-use-of-required-reason-api
|
|
-->
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>NSPrivacyTracking</key>
|
|
<false/>
|
|
|
|
<key>NSPrivacyTrackingDomains</key>
|
|
<array/>
|
|
|
|
<key>NSPrivacyCollectedDataTypes</key>
|
|
<array/>
|
|
<!-- Eksempel-oppføring hvis appen f.eks. samler grov lokasjon for app-funksjonalitet,
|
|
ikke linket til identitet, ikke for tracking:
|
|
<array>
|
|
<dict>
|
|
<key>NSPrivacyCollectedDataType</key>
|
|
<string>NSPrivacyCollectedDataTypeCoarseLocation</string>
|
|
<key>NSPrivacyCollectedDataTypeLinked</key>
|
|
<false/>
|
|
<key>NSPrivacyCollectedDataTypeTracking</key>
|
|
<false/>
|
|
<key>NSPrivacyCollectedDataTypePurposes</key>
|
|
<array>
|
|
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
-->
|
|
|
|
<key>NSPrivacyAccessedAPITypes</key>
|
|
<array>
|
|
<dict>
|
|
<key>NSPrivacyAccessedAPIType</key>
|
|
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
|
|
<key>NSPrivacyAccessedAPITypeReasons</key>
|
|
<array>
|
|
<!-- CA92.1 = access info from same app, per documentation -->
|
|
<string>CA92.1</string>
|
|
</array>
|
|
</dict>
|
|
<!-- Legg til flere kategorier ved behov, f.eks.:
|
|
NSPrivacyAccessedAPICategoryFileTimestamp (reasons: C617.1, 3B52.1, 0A2A.1, ...)
|
|
NSPrivacyAccessedAPICategorySystemBootTime (reasons: 35F9.1, 8FFB.1, 3D61.1)
|
|
NSPrivacyAccessedAPICategoryDiskSpace (reasons: E174.1, 85F4.1, 7D9E.1, B728.1)
|
|
NSPrivacyAccessedAPICategoryActiveKeyboards(reasons: 3EC4.1, 54BD.1)
|
|
-->
|
|
</array>
|
|
</dict>
|
|
</plist>
|