V 4.0.0
1.Home Screen Enhancements 
1.1 Star Icon Removal from Home Screen
The star (favourite) icon previously shown at the bottom bar in the home screen has been removed.
Starred items can now be accessed through the new “Starred” filter tag available in the Documents list screen for improved organization.
1.2 “Your Files Are End-to-End Encrypted” Tag
A new security assurance message (“Your files are End-to-End Encrypted”) is added below the ReNote AI logo.
This provides better visibility and clarity about user data protection.
1.3 UI Improvements Across Feature Icons
Enhancements applied to the top feature shortcuts:
Documents
Sketch to Image
Templates
Folders
Recordings
Business Cards
Improvements include:
Updated icon style and colour palette
Better spacing and alignment
Consistent visual hierarchy for cleaner UI
1.4 Share Option Moved Inside Kebab Menu
The share icon previously directly visible on the document card has been removed.
Sharing is now available through the three-dot (Kebab) menu for better UI clarity and reduced clutter.
Improves visual cleanliness and reduces accidental taps.
1.5 RAI Pen Feature Introduction
A new RAI Pen option is added to the bottom navigation bar.
Provides quick access to RAI Pen pairing and interactions.
Designed to improve accessibility to RAI Pen-related workflows.
1.6 Additional Home Screen Enhancements
Minor layout refinements, spacing improvements, and text alignment updates for better readability and usability.
2.Profile Screen Updates

2.1 Product Upsell Banner
A new product banner has been added at the top of the Profile screen.
Helps promote premium notebooks and accessories.
Clicking the banner redirects the user to the product website for easy purchase.
2.2 Guest User Experience
For guest users, a Sign-In banner is added for better visibility and conversion.
Encourages users to log in and unlock cloud sync + available feature
2.3 About the App Improvements
2.3.1 Release Notes Option Added
In the About the App section, a new item “Release Notes” has been added.
When clicked, the user is redirected to the official website Release Notes page.
Makes it easy for users to track feature updates and improvements.
3.Redeem Code Screen Improvement

3.1 Added “Buy from here” Link in Got a Book Section
A new hyperlink Buy from here is added under the coupon text field.
Redirects users to the product purchase page.
Helps improve conversion by guiding users who don’t already have a book.
4.Log in Flow Optimization

4.1 UI Enhancements & Design Modifications
Updated the visual design of the Login screen for a more modern and user-friendly appearance.
Optimized layout spacing, typography, and button styling for improved readability and accessibility.
4.2 Added Terms of Use & Privacy Policy Links
“Terms of Use” and “Privacy Policy” links are now displayed below the Continue button.
Ensures transparency and compliance with legal standards before users proceed.
4.3 Continue with Email – Sign-Up Flow
Users can now sign up using the Continue with Email option.
After entering their email and tapping Continue, users are redirected to the confirmation code entry screen.
The email ID is automatically pre-filled on the password creation screen.
Users set Password and Confirm Password to complete the sign-up process.
4.4 Continue with Email – Sign-In Flow
Users enter their email and select Continue.
On the next screen, the email field is auto filled for convenience.
User must enter their password and tap Continue to complete login.
4.5 Social Login Options
Google and Microsoft sign-in buttons are available for faster onboarding.
Provides seamless authentication using existing accounts.
4.6 “Corporate Access” Button Repositioned
The Corporate Access option is now moved to the bottom of the screen.
This prevents confusion with the regular login/sign-up options.
Ensures a cleaner login experience for standard users while keeping enterprise access easily available.
5. Navigation Flow Changes
5.1 Edit → Preview Transition Updated
Updated navigation flow to ensure smoother transition from Edit Screen → Preview Screen across document workflows.
5.2 Android Camera Update
The Custom Camera OCR has been retired.
Replaced with a new Rotate option within the preview interface for better usability.
6.Template Improvements

6.1 Automatic Template Pre-Selection Enhancement
The following templates will now be automatically pre-selected for users based on their login provider, ensuring a more guided, personalized, and intuitive starting experience.
To-Do Template
SM Template
MOM Template
Apple Reminders Template (for eligible users of iPhone)
6.2 Login-Based Smart Template Pre-Selection
Templates will now adapt dynamically depending on the user’s authentication method to ensure better relevance and visibility.
6.2.1 Google Login Users
Automatically pre-selected templates:
Google Tasks
Google Meet
Google Send Mail
6.2.2 Microsoft Login Users
Automatically pre-selected templates:
Microsoft Tasks
Microsoft Teams Meeting
Outlook Send Mail
6.2.3 Apple Login Users
Automatically pre-selected templates:
Apple Reminders
7.Force Update
To ensure all users migrate to the latest, most stable version of the application, a force update mechanism has been enabled.
Mandatory update is now enforced for all users on older app versions.
Targeted enforcement is also applied to specific users to ensure timely compliance and avoid compatibility issues.
This guarantees improved performance, access to new features, and a consistent experience across the platform.
8.Web Sync Support
We have introduced full synchronization between the mobile app and the web portal to ensure a seamless and unified experience across both platforms. The following functionalities are now completely synced in real time:
Folders – Create, rename, and delete folders with changes reflected instantly on both platforms.
Documents – Upload, edit, rename, and delete documents, move to folder, add to tag with consistent visibility across app and web.
Upload – Any files uploaded from either platform now sync immediately for uninterrupted workflow.
Tags – Add, remove, and manage tags with updates reflected uniformly.
Favourites – Mark or unmark items as favourite and access them from any platform.
Trash – Items deleted on one platform appear in Trash on the other, ensuring consistent recovery options.
Pin/Unpin – Pin important items for quick access and see the pinned state synced across both app and web.
9. Security Enhancements
This C++ file (renote.cpp) implements a Native Security Layer for your Android application.
Moving these checks to C++ (Native Code) makes them harder for attackers to bypass compared to standard Java/Kotlin checks, as reverse-engineering compiled C++ code is generally more difficult than decompiling Java bytecode.
9.1 The Helper Mechanisms
Before the actual checks, you have two utility functions that support the security logic.
deobfuscatePath (String Obfuscation)
What it does: The strings in your code (like "0tcjo0tv") are encrypted using a simple shift cipher. This function shifts the characters back to reveal the real path (e.g., /sbin/su).
Why: If a hacker runs the strings command on your librenote.so file, they won't see obvious keywords like "root", "su", or "frida". This hides your intent and makes static analysis harder.
crashApp (The Kill Switch)
What it does: If a threat is detected, this function logs a message, waits 2 seconds (note: your log says "1 minute", but sleep(2) is 2 seconds), and then calls std::terminate().
Why: std::terminate() causes a hard native crash (SIGABRT). This is harder for Java-based try-catch blocks to intercept and stop.
9.2 Root Detection (isDeviceRooted)
What it checks: It iterates through a list of file paths that only exist on rooted devices. It tries to open each file using std::ifstream. If the file opens successfully (file.good()), the device is flagged as rooted.
The specific paths you are checking (after de-obfuscation):
/system/app/Superuser.apk (Old root manager)
/sbin/su (The binary that grants root permissions)
/system/bin/su (Standard location for binaries)
/system/xbin/su (Common location for root binaries)
/data/local/xbin/su
...and several others.
Why we need this:
Privilege Escalation: On a rooted device, a user (or malware) has "God mode." They can bypass Android's sandbox.
Data Theft: Root access allows tools to look into your app's private data directory (/data/data/com.renote/) and read databases or preferences you thought were secure.
Hooking: Root makes it much easier to install tools that intercept your app's functions.
9.3 Emulator Detection (isEmulator)
What it checks:
System Properties: It reads ro.kernel.qemu. If this value is "1", the device is running inside the QEMU emulator (which powers the Android Studio emulator).
Drivers/Pipes: It looks for specific hardware driver files used by emulators:
/dev/socket/qemud
/dev/qemu_pipe
Why we need this:
Reverse Engineering: Hackers rarely test attacks on physical phones initially. They use emulators to debug your app, inspect memory, and analyze network traffic in a controlled environment.
Automation: Emulators are used for "Bot farms" to automate actions (like creating fake accounts). Blocking emulators stops most low-effort attackers.
9.4 Frida Detection (detectFrida)
What it checks: It opens /proc/self/maps. This file contains the memory map of your running application. It reads the file line-by-line looking for specific strings associated with Frida.
The specific strings (after de-obfuscation):
frida-server
frida-agent
Why we need this:
Dynamic Instrumentation: Frida is the #1 tool for hacking Android apps. It allows an attacker to inject JavaScript into your app while it is running.
What Frida can do:
Bypass SSL pinning.
Call your functions directly (e.g., calling setPremiumUser(true)).
Read unencrypted strings from memory.
How the check works: When Frida attaches to your app, it injects a library (frida-agent.so) into your app's memory space. Your code spots this foreign library and crashes.
9.5 Hooking/Xposed Detection (detectHooking)
What it checks: Similar to the Frida check, this scans /proc/self/maps for other hostile frameworks.
The specific strings (after de-obfuscation):
xposed (The Xposed Framework)
frida-agent (Double checking for Frida)
Why we need this:
Method Interception: Xposed and Substrate allow users to "hook" Java methods. They can replace your isPremium() function to always return true without ever modifying your APK file.
System-Wide Hacks: These frameworks often load into the Zygote process, meaning they exist in the memory of every app on the device.
9.6 Patcher Application Detection (detectPatchers)
What it checks: Unlike the Root and Emulator checks which look for files on the disk, this function interacts with the Android OS directly. It uses the Context passed from your Kotlin/Java code to query the PackageManager. It checks if specific "Hacker" or "Patcher" applications are currently installed on the user's device.
The specific packages we are checking (after de-obfuscation):
com.android.vending.billing.InAppBillingService.LUCK (Lucky Patcher's fake billing service)
com.chelpus.lackypatch (Lucky Patcher original package)
cc.madkite.freedom (Freedom – a famous tool for bypassing In-App Purchases)
com.dimonvideo.luckypatcher (Another Lucky Patcher variant)
com.yellow8.patcher (Yellow8 Patcher)
com.topjohnwu.magisk (Magisk Manager – the modern standard for managing Root access)
Why we need this:
Billing Fraud: Tools like Lucky Patcher and Freedom are designed to intercept Google Play Billing requests. They trick your app into thinking a user successfully paid for a subscription or coins, when in reality, they paid nothing. This protects your revenue stream.
License Verification Bypass: These patchers can modify your APK locally to remove license checks or "Pro" mode verifications.
Malicious Intent: The mere presence of these apps indicates the user is actively engaged in modifying or hacking applications. Even if your app isn't currently patched, running in an environment where these tools are present is a high-risk scenario.
Here are points 7 and 8 added to your Technical Specification, formatted to match the previous sections.
Note: While the previous points were specific to the C++ (renote.cpp) native layer, these two points address the Application Layer security. Together with the native checks, they form a complete "Defense-in-Depth" strategy.
9.7 Log Stripping (Production Logging Disable)
What it does: You have configured your release build process (likely using ProGuard/R8 rules or a custom logging wrapper like Timber) to completely strip or disable logging commands (Log.d, Log.v, System.out.println) in the production version of the app. When the app is compiled for the Play Store, the bytecode instructions responsible for printing logs are removed or made inert.
Why we need this:
Information Disclosure: Developers often use logs to debug authentication flows, printing things like Log.d("Auth", "Token: " + accessToken). If these are left in production, anyone with a USB cable and ADB (Android Debug Bridge) can view your app's internal logic and sensitive data in real-time via Logcat.
Attack Surface Reduction: Error logs often reveal the structure of your backend APIs or database queries. By silencing these, you deny attackers useful information about how your backend works.
9.8 Secure Storage (EncryptedSharedPreferences)
What it does: Instead of using the standard Android SharedPreferences (which stores data in plain XML files), you have implemented the Jetpack Security library's EncryptedSharedPreferences.
Keys are encrypted using a deterministic algorithm so they can be looked up.
Values (like your accessToken, email, userId) are encrypted using AES-256 GCM.
The master key used for this encryption is stored securely in the Android Hardware-Backed KeyStore, making it extremely difficult to extract.
Why we need this:
Protection Against Rooting: Even if an attacker bypasses your Root Detection (Point 2) and gains access to the /data/data/com.renote/ directory, they will only see gibberish inside your preference files.
Prevention of Session Hijacking: If you stored the accessToken in plain text, an attacker could copy that token, paste it into their own session, and impersonate the user. Encryption renders the stolen file useless.
GDPR/Privacy Compliance: Storing PII (Personally Identifiable Information) like email addresses in plain text is a security violation. Encryption ensures user privacy even if the device is compromised.
Summary of your Defense Strategy
You have implemented a Native, Obfuscated, Multi-Layered Defense:
Static Files: You check if the file system looks like a hacker's phone (Root/Emulator checks).
Memory Scanning: You check if your app's RAM has been invaded by hacking tools (Frida/Hooking checks).
Self-Defense: You hide the strings so they can't easily find what you are looking for, and you crash immediately if caught.
OS Environment: (Patcher checks - verifying if the "neighbors" are hostile applications)
Data Security: AES-256 encryption for local storage (EncryptedSharedPreferences).
Leak Prevention: Complete removal of debug logs in production to prevent information disclosure.
10.Features Document Description – RAI PEN
SmartPEN Home & Onboarding 
1.1 SmartPEN Entry Point
A new SmartPEN icon is added on the Home Screen.
Tapping this icon opens the dedicated SmartPEN panel for all pen-related workflows.
1.2 SmartPEN Onboarding Screens
New onboarding screens are introduced for SmartPEN.
These screens guide users through:
Pen introduction
Feature overview
Initial setup flow
1.3 Bluetooth Activation & Permissions
SmartPEN onboarding now includes updated Bluetooth permission prompts.
Bluetooth automatically enables when required, ensuring smoother connection workflow.
1.4 Dark Mode Support for SmartPEN
SmartPEN screens now support full dark mode styling for improved readability and UI consistency.
2. Notebook & Page Actions
2.1 Notebook Management Options
Inside each notebook, users can now:
Rename notebook
Share notebook
Download notebook (PDF / JPG)
Take Home Book
These improvements enhance document handling and accessibility.
2.2 Bluetooth Enhancement – Connect Now
A new “Connect Now” action automatically redirects users to system Bluetooth settings to complete pairing.
Inside the Notebook page, the top-right corner shows a “Connect Now / Connected” button, which redirects the user to the SmartPEN settings screen.
2.3 Pen Status Indicator in Notebook
Inside the Notebook page, a new pen indicator shows:
Whether the pen is connected
Battery percentage
Pen settings shortcut
2.4 SmartPEN Data Management
Inside SmartPEN settings within Notebook and RAI pen screen:
Sync Offline Data
Delete Offline Data
Disconnect Pen
These options give users full control over pen data.
3. Writing Tools & Stroke Options
3.1 Undo / Redo / Erase Tools
Notebook page now supports:
Undo
Redo
Erase
Allowing flexible stroke editing.
3.2 Stroke Thickness Options
Users can choose between:
Thin stroke
Medium stroke
Thick stroke
3.3 Colour Picker
A new colour picker includes:
Predefined colours
Custom colour selector
3.4 ASK AI Tool
Notebook now includes an ASK AI tool for inserting structured ASK AI-style Chatbot elements.
4. Recording, AI, and OCR Tools
4.1 Speech Recording & Summarization
A new recording option allows users to:
Record speech
Convert speech to text
Generate summaries using AI
4.2 Gen-AI Integration
The Notebook page now includes Gen-AI options to generate content based on user input.
4.3 OCR Tools & AI Enhancements
Inside OCR mode, the following AI tools are available:
Spelling & Grammar
Writing Style
Chatbot
Summarize
Keypoints
4.4 OCR Result Sharing
Extracted OCR pages can be shared as:
JPG
Users can share entire notebooks or selected pages.
5. Pen Path Recording
5.1 Stroke Playback
Pen Path Recording feature enables users to:
Play back the recorded stroke sequence
Review pen movement history
5.2 Voice Recording Summaries
Inside Path → Recording, users can:
Record voice
Convert to text
Summarize
Inside the Summarize option, we provide a Summary view that includes the voice note summary, the note title, key action items, and a Transcript view showing the voice-to-text output. All of these can be copied or shared.
6. Notebook Page Actions
6.1 Download Options
Notebook pages can be downloaded as:
JPG
6.2 Delete Page
Users can delete pages directly from the Notebook page options.
7. SmartPEN Settings
7.1 Pen Connection Indicator
Shows real-time pen connection status at all times.
7.2 Battery Indicator
Displays accurate SmartPEN battery percentage.
7.3 SmartPEN Settings Panel
Inside the settings screen:
Battery percentage
Sync Offline Data
Delete Offline Data
Disconnect Pen