# User Manual

# Introduction

**CloudWays** is a webapp built to improve user productivity. It is a multi-tenant online platform for boosting automations.

Every tenant has a multi-user **workspace** able to manage different resource types.

Every resource can be personal or shared with specific **users** or **groups**.

# Resource Types

## Script

Script contains **javascript** code to be executed on specific **devices** through an **agent**.

**Agent app** is compatible with Android, MacOS, Windows and Linux devices.

Code is powered by **NativeJS Runtime** making available user APIs for time, filesystem, network, battery ecc...

Script can be executed on specific events ( **@on** directive ), scheduled on specific time interval ( **@schedule** directive ) and on specific devices ( **@device** directive )

Every script execution is logged on cloud platform including code return value as response

## File

Files and folders can be managed on platform including **upload** and **download**.

Scripts can move files or folders from **device to cloud**

## Password

Password contains **credentials** for accessing a specific service.

Password can be **injected** into a specific webpage through a browser extension.

**Passway app** is a extension available on Firefox Store

# Security

## Users

Every user on workspace has many **authentication** options.

### Password

This authentication method is called **BASIC** and requires username and password.

### MFA

This authentication method is called **MFA** and requires sequentially :

1. BASIC method
2. Email confirmation

You can enable **trusted device policy** (avoid email reconfirmation for devices flagged as trusted from user)

### IDK

This authentication method is called **IDK** (Identity Key) and requires a private key.

You can **force IDK** as the only authentication method for the user.

## Resources

Every resource on workspace is **shareable** with users or groups and is secured by **PPK** (Personal Private Key).

Every user must generate his own PPK before managing resources on platform

## Personal Tokens

Every user can **generate** his own personal token.

Personal token is used to **authenticate** **Agent App** to the cloud

Personal token is composed by a **key** and a **secret**

# Devices

Every device can have many **folder-sync** rules from device to cloud

## Sync Policies

- Mirror -&gt; Cloud folder will contains always a clone of device folder
- Push -&gt; New files or folders on device will be uploaded to cloud folder
- Move -&gt; Every file or folder on device will be moved to cloud folder

# Agent App

Agent App is a **native app** running on specific OS.

## Operations

When the app is restarted it will :

1. Starts syncronization of folders (full + incremental via file watchers)
2. Interprets scripts (attach execution on events + schedule execution on specific future time)

## Setup

1. Downloading app from Solenoid Store
2. Installing app (allowing execution)
3. Launching app
4. Giving required permissions
5. Linking app to the cloud platform (fill the form and press "**SAVE**")

## Run

To run the agent you need to launch the app and press on "**RESTART**"

## Supported OS

- Android
- *MacOS (future development)*
- *Windows (future development)*
- *Linux (future development)*

# Interlink

Interlink is a **realtime server** integrated into CloudWays App and acts as a bridge for remote clients.

Interlink grants user or group chat, calls (audio and video) and device remote control (via CloudWays for Desktop)

Interlink grants realtime **data exchange** between user devices