Skip to main content
Clavark CAC Plate icon
Clavark — // CUI // CLAVARK // SP-PRIV //

by SigilArk

Compliance-floor delivery capability · .mil mobile

Ship compliant. Ship authorized.

Clavark is SigilArk's compliance-floor delivery capability for DoD mobile. OIDC, attestation, CUI discipline, STIG controls, and an ATO-aligned audit pipeline — ready on day one across iOS, Android, web console, and API. This is how SigilArk delivers.

Engage SigilArk →

Proven in production

Tactical-edge exercise platform

Multiplayer iOS, Android, and web clients with real-time WebSocket coordination. Hono.js API on AWS Lambda. Admin, event, and game-management console with player and exercise metrics and session replays.

Medical-readiness system

Provider-facing iOS and Android apps backed by a Hono.js REST API on AWS Lambda. Command-level console for mission editing and readiness dashboards, serving military, international, and disaster-relief engagements.

Both deployments meet the full 22 + 8 mobile STIG + compensating-control matrix out of the box.

See the full 22 + 8 control matrix ↓

Control matrix

22 full-parity · 8 platform-asymmetric

Clavark ships 30 mobile-application controls mapped to the authoritative DoD and NIST publications below. The native-mobile control set — proven in prior .mil deployments — is extended with a web column (BFF, strict CSP, Trusted Types) and an API column (attestation verification, version-header enforcement, audit ingest) so mobile controls become load-bearing end-to-end.

Some program-level vocabularies call the platform-asymmetric group “compensating” — several entries (iOS copy/cut, iOS clipboard, web screenshot prevention) are in fact compensating on those targets where the platform API surface does not permit the ideal control.

Full-parity controls · 22

Controls that ship with matching implementations across native mobile clients, the web console, and the API reference.

#02

Debugger detection

Detect attached debuggers at launch and prevent debugger attachment on release builds.

#04

Attestation header injection

Every authenticated mobile request carries X-Attestation-Token; omitted from web requests by design under the BFF model.

Android iOS API
#05

CUI // OPSEC banner

Classification banner visible on every authenticated view; text configurable to the marking required by the adopter program.

#06

CUI banner regression test

Static source-walk in CI asserts every screen renders the banner. Prevents silent drift on new routes.

Android iOS Web API
#07

Keyboard caching disabled

Autocorrect, predictive text, personalized-learning, and autofill suppressed on fields handling CUI.

#08

CUI acknowledgment gate

First-launch modal reminds users of CUI handling obligations. Versioned so policy changes re-prompt.

#09

Gate chain order

Fixed precedence: jailbreak → CUI ack → auth → upgrade check → attestation → app. Compiled-in; no runtime toggles.

Android iOS Web API
#10

Token lifecycle — 120s background grace

App tokens wiped 120 seconds after backgrounding. Cold start forces OIDC re-authentication.

Android iOS Web API
#12

Certificate pinning

Release builds pin the API TLS certificate; backup pin enables rotation overlap; pin failure is a hard error.

Compensating on web — browser CA store + HSTS + CT logs per standard web posture.

Android iOS API
#13

Disk cache disabled

HTTP disk cache off by default; CUI responses additionally tagged Cache-Control: no-store.

Android iOS Web API
#14

30-second request timeouts

Every client and the API gateway enforce a 30-second cap. No unbounded waits on any path.

Android iOS Web API
#15

Version headers

Every authenticated request carries X-App-Version and X-Platform-Version. Server audit-logs both and enforces a minimum-version floor.

Android iOS Web API
#16

Bearer token injection

Authorization: Bearer <jwt> added server-side by the BFF for web, client-side for mobile. Validated at the API on every route.

#17

Session-expired (401) handler

Client intercepts 401 + RFC 7807 code=session_expired, surfaces an explicit re-auth flow — never a silent retry loop.

#18

Upgrade-required (426) handler

Server returns 426 when X-App-Version is below floor. Client shows a non-dismissable update prompt.

Android iOS Web API
#19

Attestation-failed (403) handler

Client intercepts 403 + RFC 7807 code=attestation_failed, triggers a re-attestation flow rather than crashing.

#20

Disk-write regression test

CI fails if any code path writes to disk outside an explicit allowlist. Catches persistence regressions before they ship.

Android iOS Web API
#21

Interceptor registration regression test

CI verifies all required middleware and client interceptors are registered in the correct order.

Android iOS Web API

Platform-asymmetric controls · 8

Controls where the ideal implementation differs per target, or where one platform's API surface forces a compensating posture.

#23

Screenshot prevention or detection

Android prevents capture with FLAG_SECURE. iOS and web detect the event and audit it — platform APIs do not permit prevention.

Compensating on iOS (detect-only) and web (detect-only via visibilitychange).

Android iOS Web API
#24

App-switcher / task-preview privacy

Thumbnail obscured when the app is backgrounded. FLAG_SECURE on Android, material blur overlay on iOS.

#25

Copy / cut disabled on CUI fields

Android suppresses the text-toolbar copy/cut items. Web blocks copy and cut events on CUI inputs. iOS is best-effort with no public API.

Compensating on iOS — no public SwiftUI API to suppress text-toolbar items.

#26

Clipboard clearing on sign-out / background

Android calls ClipboardManager.clearPrimaryClip() on sign-out and background transitions.

Compensating on iOS — no public API to clear the system clipboard from an app.

#27

Build-time log stripping

Release builds strip debug logs: R8 -assumenosideeffects on Android, os.Logger scoping on iOS, Vite in web production, Pino log-level pinned on API.

Android iOS Web API
#28

CUI logging regression test

Per-platform lint rules (detekt-no-cui-in-log, swiftlint-no-cui-in-log, eslint-no-cui-in-log) plus source-walk tests catch CUI leaking into logs.

#29

Play Integrity (Android)

Hardware-backed attestation via Google Play Integrity API. Server verifies verdict, nonce, and device-integrity fields on every attested request.

Clavark aardvark mascot

For a SigilArk-led .mil mobile engagement, this matrix lands on day one.

Engage SigilArk →