# Improve your browsing habits with SurfPal ## Introduction SurfPal is a browser extension for analyzing and limiting browsing time, aimed at helping people make better use of their time, stay focused, and improve work and study efficiency. Centering on time management, SurfPal organically combines data observation and behavioral intervention, providing many powerful and flexible features that can meet the different needs of most people. If you want to know specifically where your time goes, or find yourself addicted to certain distracting websites and unable to extricate yourself, then you are likely someone SurfPal can help. Install and experience SurfPal now, and let it become your capable assistant for self-improvement! ## Installation SurfPal is currently available in the Chrome and Edge stores. Please click the corresponding link below to install it depending on the browser you use: - [Chrome Web Store](https://chromewebstore.google.com/detail/egibjhmcalglgmnlenmjfblobkbgpfdc) - [Edge Add-ons](https://microsoftedge.microsoft.com/addons/detail/lmjnmlchnhcgapilknniehimidpepemc) ## How it works SurfPal implements a high-performance, low-power architecture based on the latest Web technologies. You will hardly ever encounter issues like lag or power consumption that are common with similar extensions during use. After you install SurfPal, it listens for browser user interaction events in the background, mainly including tab creation, deletion, update, and activation events, as well as browser window focus gain and loss events. Through the timing of these events, it accurately calculates your browsing duration and stores it in the database with domain name granularity. When you use the data analytics feature, SurfPal reads the database, organizes the data in a tree structure according to the domain hierarchy, accumulates the browsing duration, and obtains the final result. Data storage uses the browser's local database (IndexedDB) and establishes appropriate indexes. Even if you accumulate massive amounts of data over several years, queries can be completed instantaneously. When you browse the web, SurfPal judges at least once per minute whether it needs to stop you from continuing to browse. If so, it opens a block page in a new tab and forces it to be active, making it impossible for you to skip the block page and switch back to the original tab. This innovative interaction not only avoids affecting the original page but also minimizes the permissions required by the extension. SurfPal still does not have permission to read specific webpage content, satisfying requirements while guaranteeing privacy mechanistically. ## Core Concepts Currently, SurfPal conducts time statistics and management by domain name. We know that domain names have a hierarchical structure, for example, `gemini.google.com` is a subdomain of `google.com`, and similarly, `drive.google.com` and `docs.google.com` are also subdomains of `google.com`. Therefore, SurfPal will accumulate the browsing duration of these subdomains to their parent domain, forming the following hierarchy: ```text google.com (15min + 20min + 7min = 42min) ├── gemini.google.com (15min) ├── drive.google.com (20min) └── docs.google.com (7min) ``` The concept of domain hierarchy is widely applied in various functional modules of SurfPal. For example, in data analytics, you can view the total browsing duration of a certain domain and all its subdomains. In this way, you can conveniently understand your total browsing duration on a major category website (such as `google.com`), and can also view the usage of specific subdomains (such as `drive.google.com`). In addition, time limit rules and schedules can also be set to take effect for the entire domain or specific subdomains, providing more flexible time management options. By default, when you select a domain, it includes all its subdomains. For example, selecting `google.com` includes `google.com` and all its subdomains (like `drive.google.com`, `docs.google.com`, etc.). If you only want to select a certain domain without including its subdomains, you can use the `@.` prefix to indicate exclusion of its subdomains, for example, `@.google.com` represents `google.com` but excludes its subdomains. ## Features ### Data Analytics Data analytics capability is the cornerstone of time management; after all, "if you can't measure it, you can't manage it". Generally speaking, the data analytics feature needs to answer the following questions well: - Which websites do I spend more time on? - What time periods do I usually browse these websites? - What changes have occurred in my internet browsing duration? Combining practical experience, SurfPal integrates the following features to meet needs: - **Range filtering**: Select one or multiple websites for analysis - **Granularity selection**: Choose to summarize by day, week, or month - **Time selection**: Select a specific time range for analysis - **Data summary**: View total duration, average duration, active days, and other statistical indicators - **Time series chart**: Visualize the trend of duration changes - **Details list**: Display specific data for each website after sorting, including duration and proportion - **Data export**: Support exporting data to CSV format for further analysis in other tools The data analytics interface is shown in the figure below, divided into two parts with the same structure, with the right side displaying drill-down data: You can click on a statistical indicator above the chart to switch to the indicator you are interested in: Expand the details list item to view data for subdomains: ### Schedule The schedule feature is relatively simple and suitable for managing some fixed time periods, such as work time, study time, or sleep time. You can create multiple schedules, each containing one or more time slots and a corresponding list of websites. When the current time falls within a time slot of a schedule, SurfPal will limit your browsing behavior according to that schedule's mode and website list. The figure below shows two schedules. The first schedule prohibits visiting entertainment websites during work hours (this is a group, which will be explained later), and the second schedule prohibits visiting all websites during sleep time (configured with an empty allowlist). Each schedule has the following configuration items: - **Name**: The name you give to the schedule; it will be displayed on the block page when you are blocked - **Time Slots**: The time periods included in the schedule; multiple time slots can be set, accurate to the minute - **Mode**: determines how to handle the website list, supporting **blocklist** and **allowlist** modes - **Websites**: The list of websites to be blocked or allowed - **Auto Close Tabs**: Whether to automatically close tabs of target websites - **Strictness Level**: Whether to allow you to ignore the restriction of this schedule and continue to visit target websites - **Effective Days**: Which days of the week the schedule is effective, such as only on weekdays To give another example, suppose you need to focus on doing something every weekend from 2 PM to 3 PM, only allowing access to `gemini.google.com` and `docs.google.com`, and if other websites are accessed, the tabs should be closed immediately autonomously. You can create the following schedule: | Configuration Item | Configuration Content | | --------- | -------------- | | Name | Focus on Something | | Time Slots | 14:00 - 15:00 | | Mode | Allowlist | | Websites | gemini.google.com, docs.google.com | | Auto Close Tabs | Immediately | | Strictness Level | Ignorable | | Effective Days | Sat, Sun | ### Time Limit Rule As a core feature of SurfPal, the time limit rule allows you to set a browsing duration cap for specific websites or groups. Once your browsing duration for a certain website or group within a time period reaches the set limit, SurfPal will stop you from continuing to visit that website or group, helping you control internet time and avoid addiction. Before using the time limit rule, you need to understand the related calculation logic first, including the following two concepts: - **Period**: Represents the length of the time cycle. For example, a period of 1 day means browsing duration is calculated daily, and a period of 7 days means browsing duration is calculated once every 7 days. - **Period Start Time**: Represents the starting time point of the period. For example, if the period is 1 day and the period start time is `00:00`, the browsing duration for the day is calculated starting from `00:00` of that day; if the period is 7 days and the period start time is `00:00` on a Monday, the weekly browsing duration is calculated starting from `00:00` every Monday. SurfPal will divide time into consecutive time segments according to the period and period start time you set, and accumulate your browsing duration for the target website or group within each time segment. When the browsing duration reaches the set max duration, SurfPal will stop you from continuing to visit that website or group. When using the time limit rule for the first time, you might feel a bit complicated due to the many configuration items, but actually, you only need to focus on 4 key configuration items: target, period, period start time, and max duration. The others can be kept as default, and it is not too late to adjust them according to needs after gradually becoming familiar with them during use. The figure below has two time limit rules. The first rule limits total browsing time per day to no more than 3 hours, and the second rule limits viewing YouTube per day to no more than 1 hour: Each time limit rule has the following configuration items: - **Target**: The website or group to be limited - **Period**: Range from 1 hour to 30 days, representing cumulative browsing duration within this time cycle length - **Period Start Time**: The starting time point of the period, just select one time point - **Max Duration**: The maximum allowed browsing duration within this period, in minutes or hours - **Access Confirmation**: Whether you need to wait for a few seconds when visiting the target website, and only allow access after confirmation - **Auto Close Tabs**: Whether to automatically close tabs of the target website after reaching the max duration - **Strictness Level**: Whether to allow you to ignore the rule and continue visiting the target website after reaching the max duration - **Effective Days**: Which days of the week the rule is effective, such as only on weekdays If you have enabled the access confirmation feature, SurfPal will pop up the following confirmation page when you open the target website, and you can only continue to visit by clicking the "Continue" button: This mechanism is based on behavioral design and habit disruption theory. It is not a simple block, but deliberately creates a cognitive gap in the "Cue-Craving-Response-Reward" habit loop, prompting people to switch from automated impulsive reactions to a prudent decision-making process involving the prefrontal cortex. its effectiveness is supported by neuroscience and behavioral research; a brief pause of a few seconds is enough to reduce dopamine-driven immediate cravings, making rational evaluation possible. This precise "Prompt-Pause" intervention can activate self-monitoring, and after continuous use for several weeks, it can significantly reduce the number of meaningless openings of target websites. When you visit a website blocked by a time limit rule, SurfPal will open the following block page in a new tab, informing you that you have reached the browsing duration limit for that rule: You can directly close all relevant tabs, or start a brain challenge while closing all relevant tabs to reduce withdrawal symptoms caused by stopping browsing. If strictly necessary, you can let SurfPal temporarily ignore this rule for a short period of time and continue to visit the website (provided that the strictness level you set allows ignoring this rule). If you set the strictness level to "strict", then when you reach the browsing duration limit of the time limit rule, SurfPal will not allow you to ignore the rule, nor can you bypass the restriction by modifying the rule until the next period starts. You can even set a time point before which you are not allowed to modify the rule configuration. This level requires payment, because software-level restrictions often cannot stop people from bypassing rules through various means; truly effective restrictions can only come from your heart. When you really pay a certain price for this, the sunk cost effect will change your decision-making tradeoff, the inner balance will tilt towards the side of self-discipline, making it easier to persist. Rules have priorities. When multiple rules apply to a certain website at the same time, SurfPal will choose the most precise rule to take effect. The order of precision is: subdomain rule > domain rule > group rule > global rule. For example, suppose you have a rule for `example.com` and a rule for `sub.example.com`. When you visit `sub.example.com`, SurfPal will prioritize applying the rule for `sub.example.com` because it is more precise. Using priorities, you can implement more complex time management strategies. For example, you can set a rule for a domain to limit its total daily browsing duration, while setting more precise rules for certain subdomains under that domain, allowing them to have different browsing duration limits. In this way, you can flexibly allocate browsing time according to the importance and usage frequency of different subdomains. ### Group The group feature allows you to categorize multiple related websites into a group, facilitating unified management of these websites in time limit rules and schedules. By creating a group, you can manage browsing duration more efficiently without having to configure rules for each website individually. For example, you can create a group named "Social Media" containing websites like X, Facebook, and Instagram: If you set a daily browsing limit of 2 hours for this group, then when your total browsing duration on X, Facebook, and Instagram combined reaches 2 hours, SurfPal will stop you from continuing to visit these websites. ### Brain Challenge Brain challenge is an exploratory behavioral intervention method designed to help you stop browsing more effectively after reaching the browsing duration limit of a time limit rule. By shifting attention and activating the brain's executive functions, brain challenge can reduce withdrawal symptoms and enhance self-control ability, making it easier to stick to time management plans. Currently, SurfPal provides the following types of brain challenges: - **Schulte Grid**: Visual search ability, attention - **Sustained Attention Response**: Sustained attention, reaction speed - **Digit Span Memory**: Visual working memory, attention span and allocation - **Largest Number**: Selective attention, perceptual separation - **Nonogram**: Logic and deductive reasoning ability ### Data Synchronization (Cloud Backup) The data synchronization feature allows you to backup SurfPal data to the cloud (Google Drive) to prevent data loss and synchronize data between multiple devices. After enabling this feature, SurfPal will upload data from the local database to your Google Drive every 10 minutes, and download data from the cloud for recovery when needed. This feature is very useful for users who want to maintain data consistency across multiple devices or multiple browser user profiles, and also ensures that your data will not be lost after device failure or browser reinstallation. ### Site Duration Badge The site duration badge feature is used frequently. This feature displays a badge on the SurfPal icon in the browser toolbar, showing your browsing duration for the currently visited website today, refreshing at least once per minute, helping you know your internet time at any time. This feature is closely combined with time limit rules. When you visit a website, SurfPal checks if there is a corresponding time limit rule. If so, it calculates the browsing duration according to the period start time in the rule, and turns red to warn you a few minutes before reaching the limit that time is running out. ## Pricing As a free user, you can directly use most of SurfPal's features. If you want to get the full experience, please click the following link to purchase a SurfPal Pro Lifetime License for only $19. No subscription required, one-time purchase for lifetime use: - [SurfPal Pro Lifetime License](https://store.mutacore.com/checkout?sku=surfpal.pro.lifetime) Every advanced feature is marked with a PRO badge in SurfPal, including: - Data synchronization (Cloud backup via Google Drive) - All strictness levels - All brain challenges - Hourly data export From its release in June 2024 to the present, SurfPal has made a lot of improvements, and many early users have witnessed the process of the product becoming increasingly mature. We promise that all users who purchase a SurfPal Pro Lifetime License can use all features of future versions. Thank you for your support! ## FAQ **1. Is my personal data safe?** Please rest assured that your personal data is only stored in the browser's built-in local database. Even if cloud backup is enabled, it will only be uploaded to your own Google Drive. Data only flows in places you trust throughout the process. **2. Will SurfPal affect webpage content loading?** Theoretically no. SurfPal was designed to avoid modifying the content of the original webpage and does not inject scripts into the webpage, so it will not interfere with the normal loading of webpage content. If you encounter this problem, please first check if it is caused by other extensions. **3. Why does the value displayed on the site duration badge sometimes refresh slowly?** The duration statistic itself is accurate, but the numerical display refreshes at least once a minute, so there may be a slight lag. This is a design trade-off between practical needs and system resource usage. **4. Are there any usage limits for the SurfPal Pro Lifetime License?** One license can be used on up to 5 devices simultaneously, which is completely sufficient for an individual. Please do not share the license with others. When abuse is detected, the license will automatically become invalid. **5. What if I lost my SurfPal Pro Lifetime License?** Please send us an email (support@mutacore.com) with a screenshot of the order from the payment channel (including the order number). After verification, we will help you retrieve the license.