Yeah, ofc, that's why the extra check is here actually.

- app deleted and version deleted -> `Version.is_public()` will return `False`
- app deleted and version still marked as public somehow -> `Version.is_public()` will return `False`
- app public and version deleted (*) -> `Version.is_public()` will return `False`
- app public and version public -> `Version.is_public()` will return `True`

(*) that's what I need to double-check, that files attached to a deleted version are marked as something else than PUBLIC. If it's not the case, I need to add a check on `version.deleted`.

That way we can rely on just `version.is_public()` and it will do all the sanity checks for us.