From 1c07c0a85b93a14c45f00bf107689d6b526c8153 Mon Sep 17 00:00:00 2001 From: oliha Date: Sat, 25 Apr 2020 23:15:56 -0400 Subject: [PATCH] usage terms and privacy policy --- src/app/app-routing.module.ts | 9 ++++ src/app/pages/home/home.page.html | 2 + .../privacy-policy/privacy-policy.module.ts | 26 ++++++++++ .../privacy-policy/privacy-policy.page.html | 46 +++++++++++++++++ .../privacy-policy/privacy-policy.page.scss | 0 .../privacy-policy.page.spec.ts | 24 +++++++++ .../privacy-policy/privacy-policy.page.ts | 32 ++++++++++++ src/app/pages/settings/settings.page.html | 5 +- src/app/pages/settings/settings.page.ts | 8 +++ .../pages/usage-terms/usage-terms.module.ts | 26 ++++++++++ .../pages/usage-terms/usage-terms.page.html | 50 +++++++++++++++++++ .../pages/usage-terms/usage-terms.page.scss | 0 .../usage-terms/usage-terms.page.spec.ts | 24 +++++++++ src/app/pages/usage-terms/usage-terms.page.ts | 32 ++++++++++++ 14 files changed, 281 insertions(+), 3 deletions(-) create mode 100644 src/app/pages/privacy-policy/privacy-policy.module.ts create mode 100644 src/app/pages/privacy-policy/privacy-policy.page.html create mode 100644 src/app/pages/privacy-policy/privacy-policy.page.scss create mode 100644 src/app/pages/privacy-policy/privacy-policy.page.spec.ts create mode 100644 src/app/pages/privacy-policy/privacy-policy.page.ts create mode 100644 src/app/pages/usage-terms/usage-terms.module.ts create mode 100644 src/app/pages/usage-terms/usage-terms.page.html create mode 100644 src/app/pages/usage-terms/usage-terms.page.scss create mode 100644 src/app/pages/usage-terms/usage-terms.page.spec.ts create mode 100644 src/app/pages/usage-terms/usage-terms.page.ts diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index ca1b49b..4327b4f 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -13,6 +13,15 @@ const routes: Routes = [ path: 'home', loadChildren: './pages/home/home.module#HomePageModule', }, + { + path: 'usage-terms', + loadChildren: './pages/usage-terms/usage-terms.module#UsageTermsPageModule', + }, + { + path: 'privacy-policy', + loadChildren: + './pages/privacy-policy/privacy-policy.module#PrivacyPolicyPageModule', + }, { path: 'saza-setup', loadChildren: './pages/saza-setup/saza-setup.module#SazaSetupPageModule', diff --git a/src/app/pages/home/home.page.html b/src/app/pages/home/home.page.html index 9a4e37d..8636e52 100644 --- a/src/app/pages/home/home.page.html +++ b/src/app/pages/home/home.page.html @@ -17,6 +17,8 @@ Login +

By using Saza wallet, you agree to its usage + terms and privacy policy.

diff --git a/src/app/pages/privacy-policy/privacy-policy.module.ts b/src/app/pages/privacy-policy/privacy-policy.module.ts new file mode 100644 index 0000000..a1816f7 --- /dev/null +++ b/src/app/pages/privacy-policy/privacy-policy.module.ts @@ -0,0 +1,26 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { Routes, RouterModule } from '@angular/router'; + +import { IonicModule } from '@ionic/angular'; + +import { PrivacyPolicyPage } from './privacy-policy.page'; + +const routes: Routes = [ + { + path: '', + component: PrivacyPolicyPage, + }, +]; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + RouterModule.forChild(routes), + ], + declarations: [PrivacyPolicyPage], +}) +export class PrivacyPolicyPageModule {} diff --git a/src/app/pages/privacy-policy/privacy-policy.page.html b/src/app/pages/privacy-policy/privacy-policy.page.html new file mode 100644 index 0000000..a085054 --- /dev/null +++ b/src/app/pages/privacy-policy/privacy-policy.page.html @@ -0,0 +1,46 @@ + + + + + + Privacy Policy + + + + + + + +

+ This policy may be updated or revised without notice. + It is the responsibility of the user to stay informed about privacy policy changes. +

+

+ Saza does not track user actions on mobile, web or desktop applications. + Saza does not contain any analytics scripts. +

+

+ Saza never transfers your private keys from your device. + Saza and its developers never have access to your private keys. +

+

+ Any transactions carried out via Saza on the Stellar network will be publicly available. + + The documentation of Saza wallet is hosted by Gitbook. This service has it's own privacy policy + and it is not covered by this privacy policy. +

+

+ Saza can not guarantee the privacy of your actions when +

+
    +
  • Your mobile device might be compromised.
  • +
  • Your computer might be compromised.
  • +
  • Saza wallet might be compromised.
  • +
+ + + +
+
+
+
\ No newline at end of file diff --git a/src/app/pages/privacy-policy/privacy-policy.page.scss b/src/app/pages/privacy-policy/privacy-policy.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/privacy-policy/privacy-policy.page.spec.ts b/src/app/pages/privacy-policy/privacy-policy.page.spec.ts new file mode 100644 index 0000000..efedb5f --- /dev/null +++ b/src/app/pages/privacy-policy/privacy-policy.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { PrivacyPolicyPage } from './privacy-policy.page'; + +describe('PrivacyPolicyPage', () => { + let component: PrivacyPolicyPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [PrivacyPolicyPage], + imports: [IonicModule.forRoot()], + }).compileComponents(); + + fixture = TestBed.createComponent(PrivacyPolicyPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/privacy-policy/privacy-policy.page.ts b/src/app/pages/privacy-policy/privacy-policy.page.ts new file mode 100644 index 0000000..342d152 --- /dev/null +++ b/src/app/pages/privacy-policy/privacy-policy.page.ts @@ -0,0 +1,32 @@ +import { Component } from '@angular/core'; +import { UserService } from 'src/app/providers/providers'; +import { MenuController } from '@ionic/angular'; +import { SazaError } from 'src/app/providers/errors'; + +@Component({ + selector: 'app-privacy-policy', + templateUrl: './privacy-policy.page.html', + styleUrls: ['./privacy-policy.page.scss'], +}) +export class PrivacyPolicyPage { + constructor(private userService: UserService, private menu: MenuController) {} + + ionViewWillEnter() { + this.userService + .isAuthValid() + .then((isValid) => { + if (!isValid) { + this.menu.enable(false); + } + }) + .catch((e) => { + throw new SazaError('Unable to load user details.'); + }); + } + + ionViewWillLeave() { + if (!this.menu.isEnabled()) { + this.menu.enable(true); + } + } +} diff --git a/src/app/pages/settings/settings.page.html b/src/app/pages/settings/settings.page.html index e7d5dd2..63534e0 100644 --- a/src/app/pages/settings/settings.page.html +++ b/src/app/pages/settings/settings.page.html @@ -2,11 +2,10 @@ - + {{ s.title }} - + \ No newline at end of file diff --git a/src/app/pages/settings/settings.page.ts b/src/app/pages/settings/settings.page.ts index a665d3d..9950497 100644 --- a/src/app/pages/settings/settings.page.ts +++ b/src/app/pages/settings/settings.page.ts @@ -23,6 +23,14 @@ export class SettingsPage implements OnInit { title: 'Import Accounts', url: '/import-account', }, + { + title: 'Privacy Policy', + url: '/privacy-policy', + }, + { + title: 'Usage Terms', + url: '/usage-terms', + }, ]; pageTitle = 'Settings'; helpUrl = 'https://docs.saza.io/wallet-actions/settings'; diff --git a/src/app/pages/usage-terms/usage-terms.module.ts b/src/app/pages/usage-terms/usage-terms.module.ts new file mode 100644 index 0000000..d85f3b8 --- /dev/null +++ b/src/app/pages/usage-terms/usage-terms.module.ts @@ -0,0 +1,26 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { Routes, RouterModule } from '@angular/router'; + +import { IonicModule } from '@ionic/angular'; + +import { UsageTermsPage } from './usage-terms.page'; + +const routes: Routes = [ + { + path: '', + component: UsageTermsPage, + }, +]; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + RouterModule.forChild(routes), + ], + declarations: [UsageTermsPage], +}) +export class UsageTermsPageModule {} diff --git a/src/app/pages/usage-terms/usage-terms.page.html b/src/app/pages/usage-terms/usage-terms.page.html new file mode 100644 index 0000000..c20069e --- /dev/null +++ b/src/app/pages/usage-terms/usage-terms.page.html @@ -0,0 +1,50 @@ + + + + + + Usage Terms + + + + + + + +
    +
  1. +

    User Responsibilty

    +

    You, the user, are responsible for ALL actions carried out on the Saza wallet on any device that you own + or is in your possession. These actions include but not limited to the following

    +
      +
    • All transactions.
    • +
    • All purchases of tokens.
    • +
    • Import/export of Stellar accounts.
    • +
    +

    Furthermore, you, the user is solely responsible for ensuring your own compliance with laws and taxes + in your jurisdiction. Cryptocurrencies may be illegal in your area. You, are solely responsible for your + own security including keeping your account secret keys safe and backed up.

    +
  2. +
  3. +

    Privacy

    +

    Kindly review our privacy policy for more information.

    +
  4. +
  5. +

    Affiliation and Endorsement

    +

    Saza wallet and its developers are NOT affiliated to the Stellar network. Saza is just a user interface + that allows you to access the Stellar network. + Saza wallet and its developers do NOT endorse any token, asset, coin, programs and initial coin offerings + on the Stellar network. Stellar is a public network and it is your obligation to perform due diligence + before conducting any transactions on the network.

    +
  6. +
  7. +

    Disclaimer of warranty

    +

    Saza wallet is open source software licensed under the Apache-2.0 license. It is provided free of charge + and on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND. +

    +
  8. +
+
+
+
+
\ No newline at end of file diff --git a/src/app/pages/usage-terms/usage-terms.page.scss b/src/app/pages/usage-terms/usage-terms.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/usage-terms/usage-terms.page.spec.ts b/src/app/pages/usage-terms/usage-terms.page.spec.ts new file mode 100644 index 0000000..8a6f372 --- /dev/null +++ b/src/app/pages/usage-terms/usage-terms.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { UsageTermsPage } from './usage-terms.page'; + +describe('UsageTermsPage', () => { + let component: UsageTermsPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ UsageTermsPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(UsageTermsPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/usage-terms/usage-terms.page.ts b/src/app/pages/usage-terms/usage-terms.page.ts new file mode 100644 index 0000000..704bca3 --- /dev/null +++ b/src/app/pages/usage-terms/usage-terms.page.ts @@ -0,0 +1,32 @@ +import { Component } from '@angular/core'; +import { UserService } from 'src/app/providers/providers'; +import { MenuController } from '@ionic/angular'; +import { SazaError } from 'src/app/providers/errors'; + +@Component({ + selector: 'app-usage-terms', + templateUrl: './usage-terms.page.html', + styleUrls: ['./usage-terms.page.scss'], +}) +export class UsageTermsPage { + constructor(private userService: UserService, private menu: MenuController) {} + + ionViewWillEnter() { + this.userService + .isAuthValid() + .then((isValid) => { + if (!isValid) { + this.menu.enable(false); + } + }) + .catch((e) => { + throw new SazaError('Unable to load user details.'); + }); + } + + ionViewWillLeave() { + if (!this.menu.isEnabled()) { + this.menu.enable(true); + } + } +}