# Features

# Overview

SiteRack comes packed with advanced features designed to save you time and keep you focused on the things that matter.

# Here's a complete list of all core features:

# Uptime Monitoring

Our uptime moniorting system sends intervaled requests (60s) to your websites called 'pings'. This is a simple example script from the SiteRack Engine:

ping = requests.get('example.com')
status = ping.status_code

if status == 200:
    site.ping = True
    site.save()

While this ensures that your site is alive and running, SiteRack takes it a step further and tries to determine what kinds of errors are causing downtime.

When downtime ocures, SiteRack continues to monitor the sites's status and sends an alert via either email or Slack.

# Slack alert example:

# Daily Backups

Site Rack automatically runs daily backups of all your sites and securely stores them in the cloud. To accomplish this, Site Rack integrates with the popular Updraft Plus plugin.

Site Rack will retain up to 60 days of backups per site and automatically remove old backups to make room for the new ones. All backups are made available in the site's Control Center.

# Backup dashboard example:

# Restorations

In order to run a restoration, simply choose a backup from the backup dashboard, then click 'Restore' and confirm the order. Site Rack will then deploy a worker to complete the restoration in the background while you carry on with other tasks.

Upon completion, Site Rack will let you know via either email or Slack.

# Slack alert example:

# Safe Updates

If allowed, SiteRack will automatically check for and run updates on your website's plugins, themes, and WordPress core. This feature can be disabeled in the site's Control Center.

To ensure the safety of your site, SiteRrack performs these updates by first running a backup of the entire site. Next, SiteRack checks for any blacklisted packages and excludes them from the updates. SiteRack then proceeds to incrementally update each package (theme, plugin, or core) while scanning your site for any failures using our A.I. Error Detection system.

If SiteRack detects any problems, it immediately terminates the update process and attempts to restore your site using the most recent backup - i.e. the one made just a few minutes before. If this occurs, you will receive an email or Slack alert to let you and your team know.

# Exclude Packages

To allow for flexibility, SiteRack permits the user to determine which plugins to update and which to keep at their present configuration. To blacklist a plugin or theme, simply navigate to the site's Control Center, scroll to 'Plugins | Themes | Excluded' and click 'Exclude' under each package.

Additionally, SiteRack also keeps a detailed log of all completed updates. The logs are searchable and filter friendly so you can find the exact update you're looking for.

# A.I. Error Detection

Not to be confused with our Malware System, the SiteRack A.I. Error Detection system is a novel method for detecting issues and failures within your site.

The system utilizes nueral-networks to analyze and determine the presence and severity of any issues it finds within the scanned site.

This feature will continue to be a work-in-progress as more data is made available to refine the algorithm.

# Example of sigmoid function used in system (in case you're curious).

def sigmoid(x):
    """
    Takes in weighted sum of the inputs and normalizes
    them through between 0 and 1 through a sigmoid function
    """
    return 1 / (1 + np.exp(-x))
 
 
def sigmoid_derivative(x):
    """
    The derivative of the sigmoid function used to
    calculate necessary weight adjustments
    """
    return x * (1 - x)

# Malware Scans

Like most other features, SiteRack's Malware Engine runs daily in the background - automatically. Upon the arrival of a new backup, SiteRack will make a copy, send the package to the Malware Engine, dissect and scan the files and databases, remove any found malware, record the instances, then compress the clean package and send it to secure, remote storage.

Once completed, you will see two versions of the same backup in your backup dashboard. The scanned version will be noted by the _clean tag attached to the end of the filename.

If you wish to have the cleaned version installed on your site, simply Restore the _clean version of that backup as directed before.

# Malware Engine

The SiteRack Malware Engine is a dual method detection system that utilizes both signature scanning and Yara rule violations.

# Example of our Yara implementation:
def load_yara(self):
    """ 
    Loops through each yara rule in dir, compiles it and loads it. 
    Used to compare against site_files.
    """

    self.infected = False
    def match_callback(data):
        self.infected = True
        return yara.CALLBACK_CONTINUE

    for rule_path in glob.iglob(RULES_PATH + "*.yar"):
        # compile one rule at a time
        try:
            self.rules = yara.compile(rule_path)
            r_name = os.path.basename(rule_path)
            for site_file in self.site_files:
                self.infected = False
                self.rules.match(site_file, callback=match_callback, 
                    which_callbacks=yara.CALLBACK_MATCHES
                )
                if self.infected == True:
                    if site_file not in self.suspicious_files:
                        self.suspicious_files.append(site_file)
                        self.suspicious_files_num = self.suspicious_files_num + 1
                    else:
                        pass
                else:
                    pass
        except:
            pass

# Health Reporting

SiteRack's Health Reporting system is a useful tool that gives a quick overview of your site's health. The data itself is generated by the WordPress core and is then gathered by SiteRack and formated into an easily digestible view.

It is important to note that the Health system is seperate from the A.I. system. However, the A.I. does incude data from the Health report in it's overall analysis.

# Example of the Health dashboard

# Client Reporting

SiteRack has the ability to generate client reports for any span of time you need - Whether it's a week or six months.

To generate a report, simply click 'Build Report' in your site's Control Center. Then pick the dates you want to report on, what aspects you want included, and add a personalized note. When complete, click 'Generate Report' and check your email for the report.

*Please note that the report generation may take a few minutes to complete.

Oh yeah, and the reports look pretty good... (if we do say so ourselves 😉)

# Sample Report Cover

# White labeling

As expected, the entire SiteRack Engine is a white-labeled-ready product. You are free to use the software as a resellable service to your clients and customers - no copyright issues!

Also, for each Client Report, your company name and logo will be displayed on the bottom left corner of the cover page.

# Logo and company name placement