Contact Methods Configuration
Class Diagram
Instantiation
Since the contact methods include the student’s Matrix account
at the university’s Matrix server, the student’s username is required to build their
Matrix ID which is written in the format @username:uni-jena.de
, e.g. @es13nsa:uni-jena.de
.
ContactMethods contactMethods = new ContactMethods("es13nsa");
assert contactMethods.getMatrixID().isPresent();
assert contactMethods.getMatrixID().get().equals("@es13nsa:uni-jena.de");
Contact methods
The developers offer the following contact methods:
PASSWORD_EMAIL
:
Symmetrically encrypted the response with a password, using Tuta’s quantum-secure encryption for external recipients. Learn morePGP
:
Public-key encryption using OpenPGPTUTA
:
Use the end-to-end encrypted German e-mail provider Tuta.SECURE_EMAIL_PROVIDER
:
Use one of the following end-to-end encrypted e-mail providers:MATRIX
:
Use the university’s Matrix chat server.THREEMA
:
Use the end-to-end encrypted messenger Threema.SIGNAL
:
Use the end-to-end encrypted messenger Signal. (Does not require sharing the phone number anymore.)SIMPLEX
:
Use the end-to-end encrypted, decentralised (but not peer-to-peer) messenger SimpleX.UNENCRYPTED_EMAIL
:
Send a plain-text e-mail from the user’s university e-mail address without any encryption whatsoever.
Settings
Preferred contact method
There are two options to choose from:
HTTP_CLIENT
:
A resource-efficient client that does not require a browser but instead makes direct HTTP requests. Especially useful for low-power devices like a Raspberry Pi.HEADLESS_BROWSER
:
A browser like Firefox but without a graphical user interface. Very resource-intensive and should only be used if the hardware is capable of running a headless browser. NOT recommended for use on devices like a Raspberry Pi.
Type | ContactMethod |
JSON key | preferred-contact-method |
Default | PASSWORD_EMAIL |
Symmetric password
The password that shall be used for symmetrically encrypted e-mails.
Type | char[] |
JSON key | symmetric-password |
Default | none |
Example | correct horse battery staple |
OpenPGP public key
The user’s ASCII-armored OpenPGP public key that can be used to encrypt messages to the user.
Type | String |
JSON key | pgp-public-key |
Default | none |
Example | See Codeberg repo |
OpenPGP public key URL
A URL pointing to the user’s OpenPGP public key that can be used to encrypt messages to the user.
Type | URL |
JSON key | pgp-public-key-url |
Default | none |
Example | https://keyoxide.org/hkp/EEA31D8870072AD7B29DED62CBDB888D83C64AF3 |
Tuta address
The e-mail address of the user’s Tuta account.
Type | String |
JSON key | tuta-address |
Default | none |
Examples |
|
Secure e-mail provider address
An e-mail address of the user at a secure e-mail provider.
Type | String |
JSON key | secure-provider-email-address |
Default | none |
Examples |
|
Threema ID
The user’s Threema ID that can be used to initiate a conversation with the user.
A Threema ID is a string of 8 alphanumeric characters (case-insensitive).
Optionally, it may be in the form of a Threema ID URL, i.e. start with threema.id
(possibly with the
protocol and/or www.
).
Type | String |
JSON key | threema-id |
RegExp | ^\s*((https:\/\/)?(www\.)?threema.id\/)?[A-Za-z0-9]{8}\s*$ |
Default | none |
Example | H3BK2FVH |
Signal ID
The user’s Signal ID that can be used to initiate a conversation with the user. A Signal ID is a phone number, a Signal URL or a Signal user name.
A Signal URL is a string of 64 alphanumeric characters (case-sensitive) that starts with signal.me/#eu/
(possibly with the protocol and/or www.
).
A Signal user name is a string of alphanumeric characters and underscores, followed by a dot and at least two digits,
e.g. edward.13
.
Type |
|
JSON key | signal-id |
Default | none |
Examples |
|
https://signal.me/#eu/iOiKCM7MZ9xxlA8SqLasWKsayETmvg8PakayRRXHhpL3bzpLVrdGFJingk/6mGV1
SimpleX ID
The user’s SimpleX ID that can be used to initiate a conversation with the user.
A SimpleX ID is a URL that starts with simplex.chat/contact/
(possibly with the protocol and/or www.
)
and contains an .onion
domain.
Type | String |
JSON key | simplex-id |
RegExp | ^\s*(https:\/\/)?(www.)?simplex.chat\/contact(\/#)?\/.+\.onion\s*$ |
Default | none |
https://simplex.chat/contact/#/?v=1-2&smp=smp%3A%2F%2F0YuTwO05YJWS8rkjn9eLJDjQhFKvIYd8d4xG8X1blIU%3D%40smp8.simplex.im%2FsSCNS1itthj8oKaSzgrKV0xKgrbNPlFG%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAlldSlwhJ1JyafXkpPnD1J65805WkVNemSpzEpYJnoCo%253D%26srv%3Dbeccx4yfxxbvyhqypaavemqurytl6hozr47wfc7uuecacjqdvwpw2xid.onion