Entscheidung des Besitzers festhalten: die .ipa bleibt im oeffentlichen Repo

This commit is contained in:
Paul Nothaft
2026-08-29 13:02:50 +02:00
parent b452c0a284
commit 959b98c93a
+25 -2
View File
@@ -4740,8 +4740,31 @@ gitignored; the long hex strings in this file are bundle SHA-256s). Note that fl
does not un-publish what was already reachable — the instance sits behind Cloudflare and may have
been cached or crawled.
**Decision pending with the owner.** Nothing was changed: repository visibility is an outward-facing
setting on their server, not something to flip from a session.
**Owner's decision (same day): the `.ipa` stays in the public repo.** Reasoning given: the build is
ad-hoc signed, so it only installs on devices registered in the profile, and the link is only shared
with people who are registered — "zweifache Absicherung". The first half is correct: an ad-hoc `.ipa`
will not install on an unregistered device, and today the profile lists exactly one.
**What that reasoning does not cover, verified rather than argued.** A code signature governs
*installation*, not *reading the archive*. `unzip App.ipa` needs no key, no profile and no device,
and it yields:
```
Payload/App.app/public/assets/audi-type-400-CBKll8kj.woff2 → Web Open Font Format 2, 22,868 bytes
Payload/App.app/public/assets/audi-type-wide-300-*.woff2
Payload/App.app/public/assets/audi-type-extended-400-italic-*.woff2
```
— i.e. Audi Type in redistributable form, plus the rings and badges alongside. So device registration
protects *running the app*; it does nothing for the licensed assets, which is what the rule at the
top of this file is actually about. And it is moot either way while the repo is public: the same
fonts have long been fetchable as loose files under `companion-app/src/assets/audi/`, no `.ipa`
involved.
**Net state to be aware of, not to re-litigate:** publishing the app publicly means publishing Audi
Type. The owner has been told this explicitly and accepts it. If the position ever changes, the fix
is one setting (repo → private) plus `tailscale serve` for the over-the-air host (section AI), and
nothing else in the project depends on anonymous access.
---