Project
-
manifest.yamluses a stable lowercase app ID and accurate metadata. - The project has exactly one top-level
.starfile. -
niblet apps validate .passes. -
niblet apps preview . -o preview.webpproduces the intended frame.
Experience
- The app remains readable at native 64×32 resolution.
- Animation loops cleanly and avoids unsafe flashing.
- Every configuration field has a default or missing-value path.
- Network or provider failures show a useful fallback.
- The result was checked on physical hardware when hardware behavior matters.
Security and privacy
- Source, metadata, and review notes contain no credentials or customer data.
- Sensitive configuration uses credential or OAuth fields.
- Logs avoid full responses, locations, tokens, and user-entered content.
- HTTP requests use an appropriate cache lifetime and only required hosts.
Rights and support
- You can distribute every image, font, logo, character, and code dependency.
- External API terms permit the intended use and display.
- Required attribution is included and accurate.
- The app has a support and maintenance path.