All Projects → pryv → open-pryv.io

pryv / open-pryv.io

Licence: other
open source version of Pryv.io

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to open-pryv.io

Hemmelig.app
Keep your sensitive information out of chat logs, emails, and more with encrypted secrets.
Stars: ✭ 183 (+72.64%)
Mutual labels:  personal-data, gdpr, privacy-tools
GDPRConsent
No description or website provided.
Stars: ✭ 80 (-24.53%)
Mutual labels:  consent, gdpr
javascript-cookie-control
Javascript module for controling cookie consent on your website
Stars: ✭ 18 (-83.02%)
Mutual labels:  consent, gdpr
Prowler
Prowler is a security tool to perform AWS security best practices assessments, audits, incident response, continuous monitoring, hardening and forensics readiness. It contains more than 200 controls covering CIS, ISO27001, GDPR, HIPAA, SOC2, ENS and other security frameworks.
Stars: ✭ 4,561 (+4202.83%)
Mutual labels:  hipaa, gdpr
havengrc
☁️Haven GRC - easier governance, risk, and compliance 👨‍⚕️👮‍♀️🦸‍♀️🕵️‍♀️👩‍🔬
Stars: ✭ 83 (-21.7%)
Mutual labels:  hipaa, gdpr
Lynis
Lynis - Security auditing tool for Linux, macOS, and UNIX-based systems. Assists with compliance testing (HIPAA/ISO27001/PCI DSS) and system hardening. Agentless, and installation optional.
Stars: ✭ 9,137 (+8519.81%)
Mutual labels:  hipaa, gdpr
virgil-sdk-cpp
Virgil Core SDK allows developers to get up and running with Virgil Cards Service API quickly and add end-to-end security to their new or existing digital solutions to become HIPAA and GDPR compliant and more.
Stars: ✭ 18 (-83.02%)
Mutual labels:  hipaa, gdpr
parse-hipaa
HIPAA & GDPR compliant ready parse-server with postgres/mongo, parse-hipaa-dashboard. Compatible with ParseCareKit
Stars: ✭ 74 (-30.19%)
Mutual labels:  hipaa, gdpr
virgil-crypto-javascript
Virgil JavaScript Crypto Library is a high-level cryptographic library that allows you to perform all necessary operations for secure storing and transferring data and everything required to become HIPAA and GDPR compliant.
Stars: ✭ 31 (-70.75%)
Mutual labels:  hipaa, gdpr
virgil-sdk-x
Virgil Core SDK allows developers to get up and running with Virgil Cards Service API quickly and add end-to-end security to their new or existing digital solutions to become HIPAA and GDPR compliant and more.
Stars: ✭ 27 (-74.53%)
Mutual labels:  hipaa, gdpr
virgil-crypto
Virgil Crypto is a high-level cryptographic library that allows you to perform all necessary operations for secure storing and transferring data and everything required to become HIPAA and GDPR compliant. Crypto Library is written in C++, suitable for mobile and server platforms and supports bindings with: Swift, Obj-C, Java (Android), С#/.NET, …
Stars: ✭ 74 (-30.19%)
Mutual labels:  hipaa, gdpr
compliance
Legal, procedural and policies document templates for operating an IRT
Stars: ✭ 57 (-46.23%)
Mutual labels:  gdpr
kali-whoami
Whoami provides enhanced privacy, anonymity for Debian and Arch based linux distributions
Stars: ✭ 1,424 (+1243.4%)
Mutual labels:  privacy-tools
whotracks.me
Data from the largest and longest measurement of online tracking.
Stars: ✭ 288 (+171.7%)
Mutual labels:  privacy-tools
cookie-consent-js
A simple dialog and framework to handle the German and EU law about cookies in a website (December 2021)
Stars: ✭ 55 (-48.11%)
Mutual labels:  gdpr
bootstrap-cookie-consent-settings
A modal dialog (cookie banner) and framework to handle the German and EU law about cookies in a website. Needs Bootstrap.
Stars: ✭ 25 (-76.42%)
Mutual labels:  gdpr
openvas-docker
A docker container for openvas
Stars: ✭ 65 (-38.68%)
Mutual labels:  gdpr
matrix
mirror of https://mypdns.org/my-privacy-dns/matrix as it is obviously no longer safe to do Girhub nor have we no longer any trust in them. See https://mypdns.org/my-privacy-dns/porn-records/-/issues/1347
Stars: ✭ 32 (-69.81%)
Mutual labels:  privacy-tools
react-cookie-law
React Cookie Law is a cookie-info banner compliance with the GDPR and the EU cookie law. It allows the user to give consent in a granular way.
Stars: ✭ 103 (-2.83%)
Mutual labels:  gdpr
SDK-Privacy-Report
Privacy details of SDKs for Apple Privacy Nutrition & Google Safety Section disclosure.
Stars: ✭ 219 (+106.6%)
Mutual labels:  privacy-tools

Open Pryv.io

Pryv-Logo

Personal Data & Privacy Management Software

A ready-to-use solution for personal data and consent management.

Pryv.io is a solid foundation on which you build your own digital health solution, so you can collect, store, share and rightfully use personal data.

Maintained and developed by Pryv.

Solution

Features

  • Provides latest Pryv.io core system ready for production
  • User registration and authentication
  • Granular consent-based access control rights
  • Data model made for privacy, aggregation and sharing Data in Pryv
  • Full data life-cycle: collect - store - change - delete
  • REST & Socket.io API
  • Ease of software integration and configuration
  • Seamless connectivity and interoperability

Documentation

Summary

  1. Choose your setup
  2. Download the required files / Run the installation scripts
  3. Edit the configuration files
  4. Start the services
  5. Try the API
  6. Customize your platform

Setup

Pryv.io is designed to be exposed by a third party SSL termination such as NGINX.

Choose your Set-up

  • Discover Open Pryv.io on your local environment, this will only allow localhost apps to connect to your platform.
    • Download docker images without SSL (quick start)
    • Download docker images with SSL
    • Native installation
  • Launch Pryv.io on a server exposed to the Internet with built-in SSL, this requires to have a hostname pointing to the public IP of your server.
    • Download docker images (quick start)
    • Launch image with Open Pryv.io installed on Exoscale hosting provider: link to guide (quick start including hosting)
    • Native installation
  • Launch Pryv.io on a server with an external SSL termination. You know what you are doing.
    • Download docker images
    • Native installation

Docker

The dockerized versions and their instructions are available at this link: Download link.

If you wish to build the images yourself, refer to the following README: docker/README-build.md.

Once it is running, you can continue with the tutorials.

Native

Prerequisites:

The installation script has been tested on Linux Ubuntu 18.04 LTS and MacOSX.

  • yarn setup: (see scripts/ for details)
    • Fetch dependencies
    • Install mongodb
    • Install service mail
    • Install assets & app-web-auth3
    • Generate random alpha-numeric adminKey
  • yarn release create distribution for release

Native setup with external SSL

setup the environment

  • yarn pryv - mail and database logs will be kept in var-pryv/logs/local-*.log

Each service independently - logs will be displayed on the console

  • yarn database start mongodb
  • yarn api start the API server on port 3000 (default)
  • yarn mail start the mail service

Local native setup

setup the environment

  • yarn local is the equivalent of running yarn pryv + yarn proxy using configs/rec-la.yml. This setup is useful to test Open Pryv.io locally.

  • yarn proxy based on rec-la, it will expose the server running on http://localhost:3000 with an SSL certificate on https://my-computer.rec.la:4443 in this case you need to edit configs/rec-la.yml.

Native Server setup with built-in SSL

setup the environment

  1. Run yarn pryv to start the API
  2. Configure NGINX and certificate

You can find a NGINX configuration that you can include in your sites-enabled/ in configs/site.conf.

You must change ${HOSTNAME} to match the hostname of the public URL.

SSL certificate

Using certbot, you can generate a SSL certificate for your platform using sudo certbot --nginx -d ${HOSTNAME}.

To set an automatic renewal, run crontab -e and append the following line:

0 12 * * * /usr/bin/certbot renew --quiet

Config

For the native installation, edit config.yml, otherwise docker/local/dockerized-config.yml:

dnsLess:
  publicUrl: http://localhost:3000
http:
  port: 3000
  ip: 127.0.0.1
auth:
  adminAccessKey: iuahwd0ba87hw0bd7a8hwd
  trustedApps: "*@https://pryv.github.io*, *@https://*.rec.la*"
eventFiles:
  attachmentsDirPath: var-pryv/attachment-files
service:
  name: Open-Pryv.io
  support: https://pryv.com/open-pryv-non-configured-page/
  terms: https://pryv.com/open-pryv-non-configured-page/
  home: https://pryv.com/open-pryv-non-configured-page/
  eventTypes: https://api.pryv.com/event-types/flat.json
services:
  email:
    enabled:
      welcome: true
      resetPassword: true
  • publicUrl Is the "Public" URL to reach the service, usually exposed in https by a third party SSL service such as NGNIX.
  • http
    • port The local port to listen
    • ip The IP adress to use. Keep it 127.0.0.1 unless you explicitely want to expose the service in http to another network.
  • auth
    • adminAccesskey key to use for system calls such as /reg/admin/users. A random key should be generated on setup.
    • trustedApps list of web apps that can be trusted-app functionalities API for trusted apps: API reference see: SETUP Guide - customize authentication
  • eventFiles
    • attachmentsDirPath Directory where event attachment files will be stored on the file system.
  • service API documentation on Service Information
  • services:email see Options & Customization below

Start

At this moment you should have your application running on the public URL you defined.

If you are using another public URL, replace https://my-computer.rec.la:4443 by it in the link above.

Design your Data Model

Data in Pryv is stored in streams and events. We provide you with all necessary information to design your own data model in our Data Modelling Guide through a broad range of use cases and scenarios you might encounter.

Try the API

After this process, you should have an account on your Open Pryv.io platform with a valid authorization token in the form of an API endpoint, you can try various API requests using Postman following this guide https://api.pryv.com/open-api/.

You can also try our example apps with guides and tutorials.

Options & Customization

Authentication & Registration web app.

Open Pryv.io comes packaged with app-web-auth3, the default web pages for app authentication, user registration and password reset.

During the set-up process it has been built and published in public_html/access/. To customize it, refer to its README in app-web-auth3/.

To use a new build, simply copy the contents of the generated files from app-web-auth3/dist/ to public_html/access/

Event types

Open Pryv.io comes with default event types. The default ones are fetched at boot from the URL defined in service:eventTypes in the .yml config file, set to https://api.pryv.com/event-types/flat.json.

To customize your own, clone the Data Types repository and follow the guide there.

MongoDB data folder

By default the MongoDB data are stored in var-pryv/mongodb-data. If you want to modify the folder where the MongoDB data files are stored, you can modify in scripts/setup-mongodb.bash the variable MONGO_DATA_FOLDER.

Visual assets and icons

Your platforms visuals can be customized in public_html/assets/, please refer to the README inside. These assets are a clone of the assets-open-pryv.io.

E-Mails

Pryv.io can send e-mails at registration and password reset request.

The emails can be sent either by local sendmail (default) or SMTP.

This service, its documentation and mail templates can be found in service-mail/.

Backup

Prerequisites:

  • rsync

To make a backup of your data:

Backup: native

Run ./scripts/backup-database-native.sh ${BACKUP_FOLDER} to generate a dump of the current database contents Run ./scripts/backup-attachments-native.sh ${BACKUP_FOLDER} to copy the current attachment files.

To restore the database, run ./scripts/restore-database-native.sh ${BACKUP_FOLDER} to restore data from the provided backup folder. To restore attachments, run ./scripts/restore-attachments-native.sh ${BACKUP_FOLDER} to restore data from the provided backup folder. Depending on your setup, you may need additional access rights.

Backup: dockerized

Follow the guide in the docker package.

Contributing

Contributions are welcome. Get in touch with the Pryv team or submit a PR with your changes or adaptation.

License

Copyright (C) 2020-2021 Pryv S.A. https://pryv.com

This file is part of Open-Pryv.io and released under BSD-Clause-3 License

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

SPDX-License-Identifier: BSD-3-Clause

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].