8.0.29 • Published 6 days ago

@icure/api v8.0.29

Weekly downloads
1
License
MIT
Repository
-
Last release
6 days ago

Crypto model in iCure

Lexic

  • "ABCD" is a non encrypted key (uuid, ...)
  • {AB} is the encryption key of the pair AB, where hcParty A gives delegation to hcParty B. The encryption key is stored encrypted in the hcPartyKeys of hcParty A document (see below)
  • <ABCD>_{AB} is the key ABCD encrypted with encryption key {AB}
  • <{AB}>_{A} is the encryption key {AB} encrypted with the public key of hcParty A

The encryption keys are stored in the hcParty document that gives delegation to other user, since only the user can modify his hcParty document in CouchDB. The hcParty B needs to access the hcParty A document to decrypt (with his private key) the encryption key {AB} stored in the field hcPartyKeys.

## HCP A ##
hcPartyKeys: {
   A: [ <{AA}>_{A}, <{AA}>_{A} ]
   B: [ <{AB}>_{A}, <{AB}>_{B} ]
}

Document type relations

## Patient 1234 ##
ID: "1234"
Delegations: { A->A: <ABCD>_{AA}, A->B: <ABCD>_{AB} }
EncryptionKeys: { A->A: <DCBA>_{AA}, A->B: <DCBA>_{AB} }
## Contact 4567 ##
ID: "4567"
SecretForeignKeys: [ "ABCD" ]
CryptedForeignKeys: { A->A: <1234>_{AA}, A->B: <1234>_{AB} }
EncryptionKeys: { A->A: <EFGH>_{AA}, A->B: <EFGH>_{AB} }

The delegations of the patient document store the encrypted secretForeignKeys that you find in clear in the contact document. And allows, once decrypted, to find the contacts of a patient.

On the other side, the cryptedForeignKeys of the contact document allows, once decrypted, to find the corresponding patient document.

The encryptionKeys of a document are used to encrypt the content of the corresponding document. As for the delegations, the document encryption keys are stored encrypted with the encryption keys {AA}, {AB}, ...

The healthElement documents are linked to patient documents in the same way as the contact. This means that the healthElement documents have also SecretForeignKeys and CryptedForeignKeys, beside the encryptionKeys.

Delegations

  • Delegations === encrypted foreign key of all patient icureStoredDocument => it makes the link from a patient to a storedDocument
  • CryptedForeignKeys === encrypted patient.ID => it makes the link from a storedDocument to a patient
  • EncryptionKeys === encrypted encryptionKey (probably symmetric)

Multi profession

Contacts and delegations need to be segmented. => need to have segmented auto-delegations

Usage

Instalation

Install from npm

npm install --save icc-api

ES6 import

Example ES6 include

import * as IccApi from 'icc-api'
8.0.27

6 days ago

8.0.29

6 days ago

8.0.28

6 days ago

8.0.25

9 days ago

8.0.26

9 days ago

7.1.38

10 days ago

7.1.37

17 days ago

8.0.24

17 days ago

5.3.14

25 days ago

7.1.36

1 month ago

8.0.23

1 month ago

8.0.21

2 months ago

8.0.22

2 months ago

8.0.20

2 months ago

7.1.35

3 months ago

8.0.19

3 months ago

8.0.18

3 months ago

8.0.17

3 months ago

8.0.16

3 months ago

8.0.15

3 months ago

8.0.14

3 months ago

8.0.13

3 months ago

8.0.10

3 months ago

8.0.12

3 months ago

8.0.11

3 months ago

8.0.9

3 months ago

7.1.34

3 months ago

5.3.13

3 months ago

8.0.8

3 months ago

8.0.5

3 months ago

8.0.4

3 months ago

8.0.7

3 months ago

8.0.6

3 months ago

8.0.3

4 months ago

8.0.2

4 months ago

7.1.33

4 months ago

8.0.1

4 months ago

8.0.0

4 months ago

7.1.31

5 months ago

7.1.32

5 months ago

7.1.30

5 months ago

8.0.0-RC.3

6 months ago

8.0.0-RC.2

7 months ago

8.0.0-RC.1

8 months ago

8.0.0-RC.6

6 months ago

8.0.0-RC.5

6 months ago

8.0.0-RC.4

6 months ago

5.3.9

7 months ago

5.3.8

8 months ago

5.3.7

8 months ago

5.3.6

8 months ago

5.3.5

8 months ago

5.3.4

8 months ago

5.3.3

9 months ago

5.3.2

9 months ago

5.3.1

10 months ago

5.3.12

6 months ago

5.3.11

7 months ago

5.3.10

7 months ago

5.2.38

10 months ago

7.0.0

10 months ago

7.1.7

9 months ago

7.1.6

9 months ago

7.1.5

9 months ago

7.1.4

9 months ago

7.1.9

9 months ago

7.1.8

9 months ago

7.1.3

9 months ago

7.1.2

9 months ago

7.1.1

9 months ago

7.1.0

9 months ago

6.4.4

8 months ago

7.1.13

8 months ago

7.1.14

8 months ago

7.1.11

8 months ago

7.1.12

8 months ago

7.1.19

6 months ago

7.1.17

6 months ago

7.1.18

6 months ago

7.1.15

8 months ago

7.1.16

7 months ago

7.1.24

6 months ago

7.1.25

6 months ago

7.1.22

6 months ago

7.1.23

6 months ago

7.1.20

6 months ago

7.1.21

6 months ago

7.1.28

6 months ago

7.1.29

5 months ago

7.1.26

6 months ago

7.1.27

6 months ago

5.3.0

11 months ago

5.2.36

11 months ago

5.2.35

11 months ago

5.2.34

11 months ago

5.2.33

11 months ago

5.2.32

11 months ago

5.2.31

11 months ago

5.2.30

12 months ago

5.2.29

12 months ago

5.2.28

12 months ago

5.2.27

12 months ago

5.2.25

12 months ago

5.2.23

12 months ago

6.4.3

11 months ago

6.4.2

11 months ago

6.4.1

12 months ago

5.1.20

1 year ago

7.0.0-beta.4

11 months ago

7.0.0-beta.2

12 months ago

7.0.0-beta.3

12 months ago

7.0.0-beta.0

1 year ago

7.0.0-beta.1

1 year ago

6.3.1

1 year ago

6.4.0

1 year ago

5.1.19

1 year ago

5.1.18

1 year ago

5.1.17

1 year ago

5.1.16

1 year ago

6.3.0

1 year ago

5.1.15

1 year ago

5.1.14

1 year ago

5.1.13

1 year ago

6.2.1

1 year ago

6.2.0

1 year ago

5.1.9

1 year ago

5.1.8

1 year ago

5.1.7

1 year ago

5.1.6

1 year ago

5.1.5

1 year ago

5.1.4

1 year ago

5.1.3

1 year ago

5.1.2

1 year ago

5.1.1

1 year ago

5.1.0

1 year ago

6.0.6

1 year ago

6.0.3

1 year ago

6.0.2

1 year ago

6.0.4

1 year ago

5.1.11

1 year ago

5.1.10

1 year ago

5.0.30

2 years ago

5.0.31

2 years ago

5.0.32

2 years ago

5.0.33

2 years ago

5.0.34

2 years ago

5.0.35

2 years ago

5.0.36

2 years ago

5.0.37

2 years ago

5.0.38

2 years ago

5.0.25

2 years ago

5.0.26

2 years ago

5.0.27

2 years ago

5.0.28

2 years ago

5.0.29

2 years ago

4.2.39

2 years ago

6.0.1

2 years ago

6.0.0

2 years ago

5.0.20

2 years ago

5.0.21

2 years ago

5.0.22

2 years ago

5.0.23

2 years ago

5.0.24

2 years ago

5.0.15

2 years ago

5.0.16

2 years ago

5.0.17

2 years ago

5.0.18

2 years ago

5.0.19

2 years ago

4.2.38

2 years ago

5.0.9

2 years ago

5.0.7

2 years ago

5.0.6

2 years ago

5.0.5

2 years ago

5.0.4

2 years ago

5.0.3

2 years ago

5.0.2

2 years ago

5.0.1

2 years ago

5.0.10

2 years ago

5.0.11

2 years ago

5.0.12

2 years ago

5.0.13

2 years ago

5.0.14

2 years ago

4.2.29

2 years ago

4.2.26

2 years ago

4.2.27

2 years ago

4.2.31

2 years ago

4.2.32

2 years ago

4.2.33

2 years ago

4.2.34

2 years ago

4.2.35

2 years ago

4.2.36

2 years ago

4.2.37

2 years ago

4.2.20

2 years ago

4.2.21

2 years ago

4.2.22

2 years ago

4.2.23

2 years ago

4.2.24

2 years ago

4.2.25

2 years ago

4.2.10

2 years ago

4.2.11

2 years ago

4.2.17

2 years ago

4.2.18

2 years ago

4.2.13

2 years ago

4.2.14

2 years ago

4.2.15

2 years ago

4.2.16

2 years ago

4.2.9

2 years ago

4.1.8

2 years ago

4.1.7

2 years ago

4.1.9

2 years ago

4.2.3

2 years ago

4.2.2

2 years ago

4.2.5

2 years ago

4.2.4

2 years ago

4.2.1

2 years ago

4.2.0

2 years ago

4.2.7

2 years ago

4.2.6

2 years ago

4.2.8

2 years ago

4.1.10

2 years ago

4.1.11

2 years ago

4.1.16

2 years ago

4.1.17

2 years ago

4.1.18

2 years ago

4.1.12

2 years ago

4.1.13

2 years ago

4.1.14

2 years ago

4.1.15

2 years ago

4.1.6

2 years ago

4.1.5

2 years ago

4.0.99

2 years ago

4.1.4

2 years ago

4.1.3

2 years ago

4.1.0

2 years ago

4.1.2

2 years ago

4.1.1

2 years ago

4.0.90

2 years ago

4.0.96

2 years ago

4.0.95

2 years ago

4.0.98

2 years ago

4.0.97

2 years ago

4.0.92

2 years ago

4.0.91

2 years ago

4.0.94

2 years ago

4.0.93

2 years ago

4.0.85

2 years ago

4.0.84

2 years ago

4.0.87

2 years ago

4.0.81

2 years ago

4.0.80

2 years ago

4.0.83

2 years ago

4.0.82

2 years ago

4.0.89

2 years ago

4.0.88

2 years ago

4.0.78

2 years ago

4.0.77

2 years ago

4.0.74

2 years ago

4.0.76

2 years ago

4.0.75

2 years ago

4.0.66

3 years ago

4.0.69

3 years ago

4.0.73

3 years ago

4.0.72

3 years ago

4.0.71

3 years ago

4.0.65

3 years ago

4.0.64

3 years ago

4.0.63

3 years ago

4.0.62

3 years ago

4.0.61

3 years ago

4.0.54

3 years ago

4.0.60

3 years ago

4.0.41

3 years ago

4.0.40

3 years ago

4.0.43

3 years ago

4.0.42

3 years ago

4.0.38

3 years ago

4.0.37

3 years ago

4.0.32

3 years ago

4.0.31

3 years ago

4.0.34

3 years ago

4.0.33

3 years ago

4.0.36

3 years ago

4.0.35

3 years ago

4.0.30

3 years ago

4.0.29

3 years ago

4.0.28

3 years ago

4.0.19

3 years ago

4.0.21

3 years ago

4.0.20

3 years ago

4.0.27

3 years ago

4.0.23

3 years ago

4.0.22

3 years ago

4.0.25

3 years ago

4.0.24

3 years ago

4.0.18

3 years ago

4.0.16

3 years ago

4.0.17

3 years ago

4.0.15

3 years ago

4.0.14

3 years ago

4.0.13

3 years ago

4.0.12

3 years ago

4.0.10

3 years ago

4.0.11

3 years ago

4.0.9

3 years ago

4.0.7

3 years ago

4.0.8

3 years ago

4.0.5

3 years ago

4.0.6

3 years ago

4.0.4

3 years ago

4.0.3

3 years ago

4.0.2

3 years ago

4.0.1

3 years ago

4.0.0

3 years ago