Error Handling

Business errors#

App is handling following bussiness errors, so user will get UI-friendly, informative error:

const ERRORS = {
NOT_SUPPORTED_QR: 'NOT_SUPPORTED_QR',
UNKNOWN_ERROR: 'UNKNOWN_ERROR',
KID_MISSING_IN_HEADER: 'KID_MISSING_IN_HEADER',
ENVELOPE_PARSING_FAILED: 'ENVELOPE_PARSING_FAILED',
ISSUE_OR_EXPIRE_DATES_NOT_OK: 'ISSUE_OR_EXPIRE_DATES_NOT_OK',
JSON_SCHEMA_VALIDATION_FAILED: 'JSON_SCHEMA_VALIDATION_FAILED',
VALIDATED_AGAINST_LOCAL_CERT_FAILED: 'VALIDATED_AGAINST_LOCAL_CERT_FAILED',
BUSINESS_RULES_VALIDATION_FAILED: 'BUSINESS_RULES_VALIDATION_FAILED',
};

All other errors are mapped as "UNKNOWN ERROR".

Crashlytics, Performance Monitoring#

We are also using Firebase Crashlytics and Performance monitoring. Except of that, we do not collect any of your data for any purposes.