cometchat-flutter-v6-production — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cometchat-flutter-v6-production (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Ground truth:loginWithAuthTokenandlogoutare catalog-verified against 6.1.0. Token MINTING is a server-side REST call — its exact endpoint is FETCHED from the REST API docs, never guessed. The dev-vs-prod credential rule isRULES.md§4.
cometchat-flutter-v6-core — install, credentials, init→login→render, lifecycle.md. This skill ASSUMES it.cometchat-flutter-v6-patterns — where config comes from in your build pipeline.cometchat-security — the enterprise auth model this client-side hardening plugs into: wiring your IdP / SSO into the token flow (your IdP → your server → mint the CometChat auth token; CometChat is not an IdP), token expiry/refresh + re-login, RBAC roles + group (SBAC) scopes, and Auth Key vs auth token vs REST API Key. Load it for a security review or any SSO question.Hardening before release: "is the Auth Key safe to ship", "set up production auth", "what do I check before shipping".
Core done. No new package.
An Auth Key can log in as ANY user of your app. Everything core writes for development puts it in cometchat-settings.json, which is bundled into the APK/IPA — and a bundle is not a secret. Anyone can extract it.
Development (what core wired): credentials.authKey in the settings asset → CometChatUIKit.login(uid). Fine for building; never for release.
Production (what you must move to):
import 'package:cometchat_chat_uikit/cometchat_chat_uikit.dart';
Future<void> signIn(String authTokenFromYourServer) async {
await CometChatUIKit.loginWithAuthToken(
authTokenFromYourServer,
onSuccess: (User user) {},
onError: (CometChatException e) {},
);
}Fetch the exact token-minting endpoint from the REST API docs (../cometchat-flutter-v6-core/references/docs-map.md → SDK/REST). Never invent a URL or payload.CometChatUIKit.logout() on your app's sign-out, and unregister the push token FIRST (-push), or the next user of the device receives the previous user's notifications.login no-ops if that UID is already signed in, but switching users requires an explicit logout first.minSdk 26 (the docs' 24 is too low — the kit's cometchat_calls_sdk dependency pins 26); INTERNET permission; calling adds camera/mic. If you use R8/ProGuard, verify the kit still works in a release build, not just debug.flutter build fails with "No file or variants found for asset"): commit a placeholder (no real Auth Key) and have CI overwrite it at build time with the prod-flavoured file (no Auth Key).loginWithAuthToken is the only login path in prod code.onError.The release artifact contains no Auth Key; sign-in goes through your backend; sign-out clears the session and push; a release build on a real device sends and receives; an expired token produces a clean re-auth rather than a blank screen.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.