KYCIS SDK Docs
Android

Platform Config

Android-specific configuration and XML defaults

SDK XML Configuration

Located in android-sdk/sdk/src/main/res/values/kycis_config.xml:

<resources>
    <!-- Whether to lazily push schemas when screen changes -->
    <bool name="kycis_lazy_schema_push_default">true</bool>
    
    <!-- Remote config refresh interval -->
    <integer name="kycis_config_refresh_interval_seconds">60</integer>
    
    <!-- Whether component input hints are masked by default -->
    <bool name="kycis_component_input_hints_masked_default">true</bool>
    
    <!-- Suppress high_time_spent trigger -->
    <bool name="kycis_suppress_high_time_spent_trigger_default">false</bool>
    
    <!-- Config fetch timeout -->
    <integer name="kycis_config_fetch_timeout_ms">5000</integer>
</resources>

Debug Overrides

Debug-specific values in android-sdk/sdk/src/debug/res/values/kycis_config.xml:

<resources>
    <bool name="kycis_component_input_hints_masked_default">false</bool>
    <integer name="kycis_config_refresh_interval_seconds">15</integer>
</resources>

RuntimePolicy Configuration

Key policy fields:

FieldDefaultPurpose
backendBaseUrlhttp://localhost:8000/v1Backend API base URL
clientIdnullMulti-tenant routing identifier
mappingVersionnullScreen mapping catalog version
appVersionnullApp version for telemetry
triggerStartModeCONFIRM_UIHow triggers start assistant
kycStepStrategyHINT_THEN_INFERHow step context is determined
passiveEvalEnabledtrueEnable passive trigger evaluation
passiveEvalIntervalSeconds10Seconds between passive evaluations

TriggerSettings

FieldDefaultPurpose
autoTriggerEnabledtrueAllow automatic trigger evaluation
includeErrorSignalstrueInclude errors in trigger signals
includeTimeSpentSignalsfalseInclude time-on-screen in signals
includeIdleSignalsfalseInclude idle time in signals
includeStepHintstrueInclude step context in signals

Network Configuration

Common base URLs:

  • Emulator: http://10.0.2.2:8000/v1
  • Physical device (LAN): http://<computer-ip>:8000/v1
  • Production: https://kycis.zynnex.in/v1

Security Considerations

  • Do not hardcode API keys in source
  • Use BuildConfig fields or environment-specific configs
  • Keep secrets out of XML resource files
  • Use ProGuard/R8 rules to obfuscate SDK internals if needed

Backend Feature Flags

Controlled via backend/config/kycis.yaml:

  • integration.livekit_dispatch
  • integration.schema_registry
  • integration.sdk_config_targeting
  • trigger.v2_scoring
  • trigger.policy_engine
  • trigger.intervention_modes

Check active flags via:

  • GET /api/features
  • GET /api/activity (returns feature_flags)

On this page