This repository is a production-grade, cross-platform mobile wallet for self-sovereign identity (SSI), built with React Native and the Credo-ts agent framework. It supports multiple verifiable credential formats (AnonCreds, W3C VC, SD-JWT, mdoc) and protocols (DIDComm v1, OpenID4VCI, OpenID4VP, ISO 18013-7). The wallet handles the full credential lifecycle: issuance, storage, presentation, refresh, and revocation. It also includes a verifier subsystem for generating and processing proof requests, and an Overlay Capture Architecture (OCA) layer for branded credential display. The architecture is a monorepo managed by Yarn 4, with packages for core UI (`@bifold/core`), credential display formatting (`@bifold/oca`), proof request handling (`@bifold/verifier`), React hooks for agent state (`@bifold/react-hooks`), remote logging (`@bifold/remote-logs`), and platform attestation (`react-native-attestation`, `expo-attestation`). Dependency injection via tsyringe is central, with a large token catalog (`TOKENS`) enabling component and service overrides. The sample app (`samples/app`) demonstrates full integration with Android and iOS native builds. Key entry points include `packages/core/src/App.tsx` (root component), `packages/core/src/container-impl.ts` (DI container setup), and the navigator stacks (`RootStack`, `TabStack`, `OnboardingStack`). Data flows are driven by Credo-ts agent events and OpenID4VC credential metadata, with a background refresh orchestrator that verifies credential status and triggers re-issuance. External dependencies include Credo-ts, Indy VDR, Askar, React Native, and various native modules for biometrics, keychain, and camera. The codebase demonstrates strong engineering practices: comprehensive unit and snapshot tests, localization (en, fr, pt-BR), theming, accessibility, and a modular package structure. However, there are maintenance risks from patched dependencies, legacy OCA code paths, and snapshot brittleness. Overall, it is a well-crafted, reusable foundation for any SSI wallet project.
This repository is an OCA monorepo of nine installable Odoo 19.0 addons that extend Odoo's website module. Each top-level directory is a separate addon containing an Odoo manifest, models, views, static assets, translations, and tests. These addons are not standalone applications; they must be installed into an Odoo/OCB instance and operate through model inheritance (res.config.settings, website, ir.http, portal.wizard), QWeb template inheritance, and website-builder JavaScript plugins. The functional scope includes multi-website portal invitation (portal_invitation_by_website), forced login for configured URL paths (website_require_login), user-group-based snippet visibility (website_conditional_visibility_user_group), legal-terms acceptance on website forms (website_form_require_legal), CookieFirst consent integration (website_cookiefirst), Google Tag Manager support (website_google_tag_manager), forum subscription controls, and two decorative snippets. The main data flows are backend configuration into website-scoped fields, session metadata exposed to the frontend, and frontend interactions that alter snippet visibility or enforce form consent. External dependencies are Odoo core modules plus third-party script tags for CookieFirst and Google Tag Manager. CI runs Odoo/OCB test suites and pre-commit checks, most modules include Python or UI tour tests, and the code follows current OCA tooling and Odoo 19.0 patterns. Technical drift is low. The main risks are beta module maturity flags, stale .po translation metadata, and reliance on Odoo builder internals that may shift across releases.