Raylac security record

Ethereumraylac.com

As of 30 Oct 2026, Raylac has 1 audit report on Trustblock, by CertiK, dated 31 Jan 2025. That report lists no open critical findings.

Critical findings
No open critical findings
In 1 report.
Open the latest report
Your label, live
Get the label for your site

Record last updated . It holds audits and findings, contracts and incidents up to Oct 2026. Trustblock does not review code.

Audits1

Newest first

AuditSecurity firmDateScopeCritical findingsReport
Raylac Wallet Code ReviewSecurity firm: CertiKDate: Scope: Not recorded (see the report)No open critical findingsOpen · skynet.certik.com

Findings9

Statuses are the security firm’s own, from each report.

SeverityOpenAcknowledgedFixed
Critical000
High000
Medium001
Low206
MediumLack of local authenticationRaylac Wallet Code Review · CertiK · 31 Jan 2025Fixed

The mobile applications do not require users to enter a password/PIN/Biometric when opening the application. Additionally, the Android application does not require authentication to access the private key.

Open the report
LowCustom Keyboards Allowed for Sensitive InputsRaylac Wallet Code Review · CertiK · 31 Jan 2025Fixed

A custom keyboard is a keyboard app developed by a third-party company or developer other than the device's manufacturer. These keyboards offer users the flexibility to enhance functionality and use different themes. The mobile applications do not disable custom keyboards when entering wallet mnemonics. Users can install custom keyboards that replace the system's default keyboard in any app. These custom keyboards can log and exfiltrate the data users enter.

Open the report
LowInsufficient Secure Keystore ProtectionRaylac Wallet Code Review · CertiK · 31 Jan 2025Fixed

The Android application is designed to create a cryptographic key from the Keystore. This key is intended for encrypting the wallet's mnemonic and private key to ensure secure storage within the application's shared preferences. However, the Keystore entries currently lack sufficient protection, as several security flags are not enabled: - `isTrustedUserPresenceRequired` - `isUserAuthenticationRequired` - `isUserAuthenticationRequirementEnforcedBySecureHardware` - `isUserConfirmationRequired` These flags are for ensuring that the keystore entries are protected against unauthorized access.

Open the report
LowMnemonic display allow screenshotRaylac Wallet Code Review · CertiK · 31 Jan 2025Fixed

The application does not have a mechanism to prevent users from taking screenshots of the displayed wallet secrets, nor does it display a warning to remind users of the risks associated with taking screenshots. Obtaining the mnemonic or private key could potentially allow an attacker to gain full control of the wallet.

Open the report
LowScreenshot BackgroundingRaylac Wallet Code Review · CertiK · 31 Jan 2025Fixed

On mobile devices, a screenshot of the current activity is typically taken when an application moves to the background and displayed for aesthetic purposes when the app returns to the foreground. This feature can pose a security risk, as sensitive data may be exposed if the user backgrounds the application while sensitive information is displayed. Additionally, a malicious application running on the device and capable of continuously capturing the screen could also expose sensitive data.

Open the report
LowSensitive Information Leaking in MemoryRaylac Wallet Code Review · CertiK · 31 Jan 2025Fixed

Sensitive information leaking in memory happens when an application handles confidential data improperly, causing it to remain exposed in the system's memory. This can happen if an application or service fails to securely clear this sensitive information after use, or if the information is stored insecurely within memory. This could allow attackers to directly read the memory contents if they gain access to the device. The source code implements mechanisms to reset states such as the `clearState` function and `useEffect`, but they are not applied in all cases. For example: - packages/app/src/screens/ImportAccount/PrivateKeyAddressDetailsSheet.tsx:82 - packages/app/src/screens/SaveBackupPhrase/SaveBackupPhrase.tsx It is recommended to review the entire codebase.

Open the report
LowThe `require_authtentication` option depends on tRaylac Wallet Code Review · CertiK · 31 Jan 2025Fixed

The application stores the sensitive information with the SecureStore module from `expo-secure-store`. Specifically, it is used the `setItem` and `setItemAsync` functions which receive the parameter `requireAuthentication`. This option is responsible for enabling the usage of the user authentication methods available on the device while accessing data stored in SecureStore. - Android: Equivalent to setUserAuthenticationRequired(true) (requires API 23). - iOS: Equivalent to biometryCurrentSet. Complete functionality is unlocked only with a freshly generated key - this would not work in tandem with the keychainService value used for the others non-authenticated operations. The value of `requireAuthentication` is based on the result of `Device.isDevice` from the `expo-device` package. - `packages/app/src/lib/key.ts:14` ```javascript `const REQUIRE_AUTHENTICATION = Device.isDevice;` ``` Since this is a significant security option for protecting the private key and mnemonic of the wallet, it is recommended to always set it to `true`.

Open the report

Contracts

No deployed address is recorded for these audits.

The reports name a repository or files. Open a report to see its scope.

Show this on your site

Is this your project? Show this record on your own website. The label states what the record holds, links to this page and updates by itself. It is free and needs no sign-in.

Content

Facts

Automatic: the three strongest facts of this project’s own record (its last audit and two more), highlighted. They update with the record. Picking a fact turns Automatic off.

Fixed as
Language

Style

Layout
Theme
Accent
Corners

Format

Size
Date
Embed as
HTML
<head>
<script src="https://widget.trustblock.run/project-widget.min.js" defer></script>
</head>
<body>
<div
data-tb-project-widget
data-tb-project-slug="raylac"
></div>
</body>

Paste the code where the label should appear. It uses no API credit and updates by itself.

Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.

Tell us