Jami on ilmainen ja avoimen lähdekoodin viestisovellus, joka ei tarvitse yhtään keskuspalvelinta toimiakseen. Puhelut, viestit ja tiedostot kulkevat suoraan laitteesta toiseen hajautetun verkon kautta, eikä tiliä varten kysytä puhelinnumeroa tai sähköpostiosoitetta. Syyskuun alussa 2026 Jami-projekti julkaisi ensimmäisen esikatseluversion selainkäyttöliittymästä nimeltä Jami Web, mikä nosti sovelluksen taas keskusteluun yksityisyystietoisten käyttäjien piirissä myös Pohjoismaissa. Tässä oppaassa käydään läpi Jamin asennus, tilin luonti, salauksen tekniset yksityiskohdat ja yleisimmät sudenkuopat 13 vaiheessa, alusta Linuxista mobiililaitteisiin.

Oppaan lopussa käydään myös läpi täydellinen käytännön esimerkki pienen tiimin käyttöönotosta, kahdeksan yleisintä vianmääritystilannetta taulukkomuodossa sekä vertailu Jamin, Signalin ja Matrixin arkkitehtuurien välillä. Jos olet aiemmin asentanut Briarin, Sessionin, SimpleX Chatin tai Signalin, huomaat nopeasti, että Jamin tekninen malli poikkeaa kaikista näistä juuri palvelimettomuutensa vuoksi, mikä tekee asennuksesta ja tilin hallinnasta hieman erilaista kuin totutuissa vaihtoehdoissa.

Mikä Jami on ja miksi se eroaa Signalista ja Matrixista

Jami-projektin taustalla on montrealilainen ohjelmistoyhtiö Savoir-faire Linux, ja sovellus tunnettiin aiemmin nimillä Ring ja SFLphone. Perusidea on yksinkertainen mutta teknisesti kunnianhimoinen: sovellus ei käytä lainkaan keskitettyä palvelinta viestien tai puheluiden välittämiseen. Sen sijaan Jami rakentuu kahden hajautetun verkon varaan. Ensimmäinen on OpenDHT, Kademlia-tyyppinen hajautettu hajautustaulu (distributed hash table), joka hoitaa laitteiden löytämisen ja viestien reitityksen. Toinen on JamiNS, lohkoketjuun (Ethereum) perustuva nimipalvelu, joka rekisteröi käyttäjänimet ilman keskitettyä tietokantaa.

Tämä eroaa selvästi sekä Signalista että Matrixista. Signal tallentaa metatietoja keskuspalvelimilleen ja vaatii puhelinnumeron tiliä varten, vaikka viestien sisältö onkin päästä päähän salattua. Matrix taas toimii federoituna järjestelmänä, jossa jokainen palvelin (kuten Synapse-asennus) tallentaa keskusteluhistoriaa omalle palvelimelleen. Jamissa ei ole kumpaakaan: laite muodostaa suoran, salatun yhteyden toiseen laitteeseen sen jälkeen, kun OpenDHT-verkko on auttanut osapuolet löytämään toisensa. Käytännössä tämä tarkoittaa, ettei mikään yksittäinen taho, mukaan lukien Jami-projekti itse, näe kenen kanssa kukin keskustelee tai milloin.

Malli ei ole ongelmaton. Puhtaasti vertaisverkkoon perustuva arkkitehtuuri tekee ryhmäkeskusteluiden ja offline-viestien toimittamisesta teknisesti monimutkaisempaa kuin palvelinvetoisessa mallissa, ja käyttäjän on hyväksyttävä, että molempien osapuolten laitteet pitää yleensä olla ainakin ajoittain verkossa. Silti juuri palvelimettomuus on syy, miksi toimittajat, kansalaisjärjestöt ja yksityisyydestä kiinnostuneet käyttäjät Suomessa ja muissa Pohjoismaissa ovat alkaneet kokeilla Jamia vaihtoehtona Signalille tai Matrixille erityisesti tilanteissa, joissa halutaan minimoida jäljelle jäävä metatieto.

OpenDHT-verkon toimintaperiaate kannattaa avata hieman tarkemmin, koska se selittää monta myöhempää käytännön ilmiötä tässä oppaassa. Kademlia-tyyppinen hajautustaulu jakaa avain-arvo-parit tuhansien solmujen kesken siten, että jokainen laite, joka käyttää Jamia, toimii samalla pienenä osana koko verkkoa. Kun laite A haluaa löytää laitteen B, se ei kysy tätä keskuspalvelimelta vaan hakee tiedon hajautetusta taulusta, joka kertoo B:n senhetkisen verkko-osoitteen. Tämän jälkeen laitteet neuvottelevat suoran yhteyden ICE-protokollan avulla, aivan kuten kaksi videopuhelusovellusta neuvottelisi yhteyden ilman välikättä. Ratkaisu muistuttaa periaatteiltaan BitTorrentin käyttämää DHT-mallia, joskin Jami on rakentanut sen päälle oman salaus- ja tunnistautumiskerroksensa.

Vastaavia hajautettuja tai osittain hajautettuja viestiratkaisuja kehitetään myös muualla: XMPP-ekosysteemissä OMEMO-salausstandardi eteni huhtikuussa 2026 versioon 0.9.1, ja Matrix-projektin Element X -sovellus on julkaissut uusia versioita lähes viikoittain syyskuussa 2026. Jami eroaa näistäkin siinä, ettei sillä ole edes valinnaista kotipalvelinta: kun XMPP- tai Matrix-käyttäjä joutuu aina luottamaan siihen palvelimeen, jonka hän on valinnut, Jami-käyttäjä ei tee tätä valintaa lainkaan, koska palvelinta ei tarvita ollenkaan.

Pohjoismaisesta näkökulmasta tämä on kiinnostavaa erityisesti siksi, että Suomessa ja muissa Pohjoismaissa keskustelu digitaalisesta itsemääräämisoikeudesta ja ulkomaisten pilvipalveluiden varaan rakentuvasta infrastruktuurista on käynyt vilkkaana viime vuosina. Jami tarjoaa yhden ääripään esimerkin siitä, miltä viestintä näyttää, kun mitään yksittäistä palveluntarjoajaa, olipa se sitten yhdysvaltalainen tai eurooppalainen, ei tarvita ollenkaan pitämään yhteyttä yllä. Käytännössä tämä sopii parhaiten käyttäjille, jotka ovat valmiita hyväksymään hieman totuttua monimutkaisemman käyttöönoton vastineeksi siitä, ettei mikään yksittäinen taho pääse koskaan näkemään, kuka keskustelee kenen kanssa.

Esivaatimukset: laitteet, käyttöjärjestelmät ja versiot

Ennen asennusta kannattaa tarkistaa, että käytössä on jokin virallisesti tuetuista alustoista. Jami tukee tällä hetkellä Linuxia, Androidia, Android TV:tä, Windowsia, macOS:ää ja iOS:ää. Tässä oppaassa käytetyt komennot on testattu Ubuntu 22.04- ja 24.04 -järjestelmillä, mutta samat paketit toimivat myös Debianilla, Fedoralla ja Arch Linuxilla.

AlustaVähimmäisvaatimusAsennustapa
Linux (Ubuntu/Debian)Ubuntu 20.04 tai uudempiSnap, Flatpak tai .deb-paketti
Linux (Fedora)Fedora 38 tai uudempidnf-paketti
Linux (Arch)Rolling releasepacman-paketti
WindowsWindows 10 tai 11MSI-asennusohjelma
macOSmacOS 12 Monterey tai uudempiDMG-levykuva
AndroidAndroid 8.0 tai uudempiGoogle Play tai F-Droid
iOSiOS 15 tai uudempiApp Store
Jami Web (esikatselu)Node.js 18 tai uudempinpm-asennus paikalliselle palvelimelle

Näiden lisäksi tarvitset toimivan internetyhteyden, mieluiten sellaisen, jossa reititin tukee tavallista NAT-läpäisyä (useimmat kotireitittimet toimivat suoraan). Jos olet yrityksen tai oppilaitoksen verkossa, kannattaa varautua siihen, että tiukka palomuuri voi estää suoran vertaisverkkoyhteyden muodostumisen, jolloin Jami turvautuu TURN-välityspalvelimeen. Tähän palataan vaiheessa 11.

Levytilaa itse sovellus vie vähän, muutamasta kymmenestä megatavusta pariin sataan megatavuun riippuen alustasta ja paketointitavasta, joten laitteiston puolelta este on harvoin ongelma. Merkittävämpi käytännön kysymys on, kuinka monta laitetta aiot linkittää samaan tiliin heti alkuun. Jos suunnitelmissa on käyttää Jamia sekä työkoneella että puhelimella, kannattaa varata aikaa molempien asennukselle samassa istunnossa, koska laitteiden linkitys sujuu kätevimmin, kun molemmat laitteet ovat fyysisesti vierekkäin QR-koodin skannausta varten. Myös tilin varmuuskopiointiin kannattaa varata paikka, esimerkiksi salattu USB-tikku tai luotettu salasananhallintaohjelma, johon varmuuskopiotiedosto tallennetaan heti tilin luonnin jälkeen.

Vaihe 1: Jamin asennus Linuxille Snapin kautta

Nopein tapa asentaa Jami Ubuntulla tai muulla Snapia tukevalla jakelulla on virallinen Snap-paketti. Se toimii Ubuntun, Linux Mintin, Debianin, Arch Linuxin, Fedoran, openSUSEn ja Manjaron kaltaisilla jakeluilla, koska Snap huolehtii riippuvuuksista paketin sisällä.

sudo snap install jami

Jos haluat testata uusimpia, vielä julkaisemattomia ominaisuuksia (esimerkiksi Jami Webin uusia toimintoja), voit asentaa kehitysversion edge-kanavalta:

sudo snap install --edge jami

Snap-asennus lataa paketin automaattisesti virallisesta Snap Storesta ja asentaa sen sandbox-ympäristöön, joten mitään erillisiä riippuvuuksia ei tarvitse asentaa käsin. Onnistuneen asennuksen jälkeen terminaali näyttää tämän kaltaisen tulosteen:

jami 20260910 from Savoir-faire Linux (jami-project) installed

Käynnistä sovellus sen jälkeen komennolla jami tai sovellusvalikosta. Jos haluat sen sijaan käyttää Flatpak-pakettia, komento on hieman erilainen:

flatpak install flathub net.jami.Jami

Vanhemmilla Ubuntu- ja Debian-järjestelmillä on yhä käytössä myös perinteinen pakettivarasto, joka periytyy Jamin edeltäjältä Ringiltä. Tämä tapa toimii, mutta suosittelemme ensisijaisesti Snapia tai Flatpakia, koska ne päivittyvät automaattisesti.

sudo add-apt-repository ppa:ring/ring
sudo apt update
sudo apt install jami

Snapin ja Flatpakin välillä valinta riippuu pitkälti siitä, mitä pakettienhallintaa jakelusi suosii oletuksena. Ubuntu asentaa Snapin oletuksena, kun taas Fedora ja monet muut jakelut suosivat Flatpakia ja Flathub-varastoa. Kumpikin tapa eristää Jamin muusta järjestelmästä sandbox-ympäristöön, mikä lisää turvallisuutta rajoittamalla sovelluksen pääsyä muihin tiedostoihin, mutta voi myös aiheuttaa yllätyksiä esimerkiksi kameran tai mikrofonin käyttöoikeuksien kanssa. Jos videopuhelu ei löydä kameraa asennuksen jälkeen, tarkista ensin sandbox-käyttöoikeudet Snapin kohdalla komennolla snap connections jami ja myönnä puuttuvat luvat tarvittaessa komennolla sudo snap connect jami:camera.

Vaihe 2: Asennus Fedoralle ja Arch Linuxille

Fedora- ja Arch-käyttäjille Jami on saatavilla myös natiivina jakelupakettina, mikä tarkoittaa hieman kevyempää asennusta ilman Snapin tai Flatpakin sandbox-kerrosta.

# Fedora
sudo dnf install jami

# Arch Linux
sudo pacman -S jami

Pakettien saatavuus voi vaihdella jakeluversion mukaan, joten jos komento epäonnistuu virheeseen “package not found”, varmista ensin, että käytät ajantasaisia pakettilähteitä (sudo dnf update tai sudo pacman -Syu) ja tarkista tarvittaessa Jamin virallinen latayssivu vaihtoehtoisen asennustavan löytämiseksi. Snap ja Flatpak toimivat varmuuskopiona lähes kaikilla jakeluilla, joten niitä kannattaa pitää oletusvaihtoehtona, jos natiivi paketti ei ole ajan tasalla.

Arch-käyttäjille kannattaa muistaa, että virallinen pacman-paketti seuraa yleensä hieman viivästyneesti Jamin uusimpia julkaisuja, koska paketti pitää ensin kääntää ja testata Arch-ympäristössä. Jos tarvitset aivan uusinta versiota heti julkaisupäivänä, AUR-yhteisövarastosta (Arch User Repository) löytyy usein tuoreempi rakennusskripti, mutta AUR-pakettien asentaminen tarkoittaa aina, että luotat kolmannen osapuolen ylläpitämään kääntöohjeeseen etkä pelkästään Jami-projektin omaan koodiin. Tavalliselle käyttäjälle virallinen pacman-paketti tai Flatpak riittää hyvin.

Vaihe 3: Asennus Windowsille ja macOS:lle

Windows- ja Mac-käyttäjille asennus tapahtuu perinteisen graafisen asennusohjelman kautta, eikä komentorivikomentoja tarvita. Windowsilla lataat jami.net-sivustolta MSI-asennuspaketin, käynnistät sen ja seuraat asennusvelhoa. Asennuksen jälkeen Jami käynnistyy automaattisesti ja pyytää luomaan tilin.

macOS:llä prosessi on samantyyppinen: lataat DMG-levykuvan, avaat sen ja vedät Jami-sovelluskuvakkeen Ohjelmat-kansioon (Applications). Ensimmäisellä käynnistyskerralla Gatekeeper saattaa kysyä vahvistusta, koska sovellus ei ole App Storen kautta jaettu tälle alustalle. Jos näyttöön tulee varoitus allekirjoittamattomasta kehittäjästä, sovellus voidaan silti avata Järjestelmäasetukset-valikon Tietoturva ja yksityisyys -osiosta valitsemalla “Avaa silti”.

Molemmilla työpöytäalustoilla kannattaa heti ensimmäisen käynnistyksen jälkeen käydä läpi käyttöjärjestelmän myöntämät luvat mikrofonille ja kameralle. Windowsilla tämä löytyy kohdasta Asetukset, Tietosuoja ja suojaus, Mikrofoni ja Kamera, kun taas macOS:llä sama asetus sijaitsee Järjestelmäasetusten Tietoturva ja yksityisyys -välilehdellä. Jos videopuhelu ei tuota kuvaa tai ääntä, syy on useimmiten tässä kohdassa eikä itse Jami-sovelluksessa. Kannattaa myös tarkistaa, ettei käyttöjärjestelmän oma palomuuri (Windowsin Defender-palomuuri tai macOS:n sisäänrakennettu palomuuri) estä Jamin ulosmenevää liikennettä, sillä molemmat kysyvät oletuksena luvan ensimmäisellä käynnistyskerralla.

Vaihe 4: Asennus Androidille ja iOS:lle

Mobiilissa Jami löytyy sekä Google Play Kaupasta että F-Droidista Android-käyttäjille. F-Droid-versio on kiinnostava vaihtoehto niille, jotka haluavat välttää Google Play -palveluiden riippuvuuksia kokonaan, sillä F-Droidin jakelemat sovellukset on koottu suoraan avoimesta lähdekoodista ilman suljettuja kirjastoja.

  • Avaa Google Play Kauppa tai F-Droid
  • Hae hakusanalla “Jami”
  • Asenna sovellus nimeltä “Jami – GNU/Linux”
  • Avaa sovellus ja valitse “Luo tili” tilin luontia varten

iPhonella asennus tapahtuu App Storen kautta samalla tavalla: haet “Jami”, asennat sovelluksen ja avaat sen. iOS-versio tukee samoja perustoimintoja kuin työpöytäversiot, mutta joissakin tapauksissa uusimmat ominaisuudet, kuten Jami Webiin liittyvä laitteen linkitys QR-koodilla, saattavat ilmestyä ensin työpöytäversioihin ja levitä mobiiliin viiveellä.

Mobiililaitteilla kannattaa heti asennuksen jälkeen poistaa Jami akunsäästöohjelman rajoitusten piiristä, koska muuten käyttöjärjestelmä voi sulkea sovelluksen taustalla ja viivästyttää saapuvien puheluiden ilmoituksia. Androidilla tämä tehdään yleensä kohdasta Asetukset, Sovellukset, Jami, Akku, ja valitsemalla “Ei rajoituksia” tai vastaava vaihtoehto valmistajan käyttöliittymästä riippuen. Koska Jami ei käytä valmistajien omia push-ilmoitusjärjestelmiä samalla tavalla kuin monet keskitetyt sovellukset, taustalla pysyminen on erityisen tärkeää sille, että laite pystyy vastaanottamaan hajautetun verkon kautta saapuvia viestejä ja puheluita ajoissa.

Vaihe 5: Tilin luonti ilman puhelinnumeroa tai sähköpostia

Kun avaat Jamin ensimmäistä kertaa, sovellus tarjoaa vaihtoehdon luoda uusi tili. Tässä kohtaa Jami eroaa käytännössä kaikista valtavirran viestisovelluksista: mitään puhelinnumeroa, sähköpostiosoitetta tai muuta henkilötietoa ei kysytä. Sen sijaan sovellus generoi paikallisesti kryptografisen avainparin, joka toimii tilin identiteettinä. Käytännössä tili on RSA-sertifikaattiin sidottu avain, jota käytetään viestien allekirjoittamiseen, salaamiseen ja purkamiseen OpenDHT-verkon yli kulkevassa liikenteessä.

Tämä tarkoittaa myös sitä, että tilin palauttaminen on erilaista kuin esimerkiksi Signalissa. Koska mitään keskustietokantaa ei ole, tilin ainoa “totuuden lähde” on laitteella (tai varmuuskopiossa) oleva avainpari. Jos avain katoaa eikä varmuuskopiota ole tehty, tiliä ei voi palauttaa. Tästä syystä ensimmäinen suositus jokaiselle uudelle käyttäjälle on tehdä salasanalla suojattu varmuuskopio heti tilin luonnin jälkeen sovelluksen asetusvalikosta.

Varmuuskopio kannattaa tallentaa vähintään kahteen erilliseen paikkaan, esimerkiksi salattuun ulkoiseen tallennusvälineeseen ja luotettuun salasananhallintaan liitettyyn tiedostoon. Salasana, jolla varmuuskopio suojataan, kannattaa valita yhtä huolellisesti kuin minkä tahansa muunkin kriittisen tilin salasana, koska se on käytännössä ainoa este sille, että joku muu pystyisi palauttamaan tilisi omalle laitteelleen, jos varmuuskopiotiedosto joutuisi vääriin käsiin. Suosittelemme myös testaamaan palautusprosessin kertaalleen jo ennen kuin sitä oikeasti tarvitsee, esimerkiksi vanhalla varalaitteella, jotta tiedät varmasti, että varmuuskopio toimii silloin, kun sitä eniten tarvitaan.

Oletusarvoisesti tili luodaan ilman julkista käyttäjänimeä, jolloin sinut tunnistaa vain pitkä, satunnainen tunniste. Tämä riittää yksityiseen käyttöön kahden luotetun osapuolen välillä, mutta jos haluat, että muut voivat löytää sinut helpommin muistettavalla nimellä, kannattaa siirtyä seuraavaan vaiheeseen.

Käytännön esimerkki havainnollistaa eroa hyvin. Kun rekisteröit tilin WhatsAppiin tai vastaavaan palveluun, palveluntarjoaja tallentaa puhelinnumerosi ja tietää heti, kuka olet suhteessa muuhun palvelun dataan. Jamissa vastaavaa tallennusta ei tapahdu missään yksittäisessä pisteessä: avainparisi generoidaan paikallisesti laitteellasi, ja samaa avainparia käytetään myöhemmin sekä viestien salaamiseen että laitesertifikaattien allekirjoittamiseen. Kukaan ulkopuolinen, ei edes Savoir-faire Linux itse, ei näe tätä avainparia missään vaiheessa, koska se ei koskaan poistu laitteeltasi salaamattomana.

Vaihe 6: Käyttäjänimen rekisteröinti JamiNS-nimipalvelussa

Jami tarjoaa mahdollisuuden rekisteröidä ihmisystävällisen käyttäjänimen, joka helpottaa yhteystietojen jakamista. Tekninen toteutus poikkeaa taas keskitetystä mallista: käyttäjänimet tallennetaan Ethereum-lohkoketjuun, ja Jami-sovellus hakee nimi-tunniste-vastaavuuden sen kautta oman nimipalvelinkomponenttinsa avulla. Tämä tekee nimien rekisteröinnistä hajautetun toiminnon eikä yksittäisen yrityksen ylläpitämän tietokannan varassa olevaa palvelua.

Käytännössä rekisteröinti tehdään sovelluksen asetuksista: valitse tili, avaa “Rekisteröi käyttäjänimi” ja syötä haluamasi nimi. Sovellus tarkistaa, onko nimi vapaana JamiNS-verkossa, ja jos on, se sidotaan tilisi julkiseen avaimeen. Toisin kuin monissa keskitetyissä palveluissa, tätä sidosta ei voi kukaan yksittäinen taho poistaa tai siirtää jälkikäteen, koska tieto elää lohkoketjussa.

Kannattaa huomata, että käyttäjänimi on julkinen tieto, jonka kuka tahansa voi hakea. Jos yksityisyys on ensisijainen tavoite, moni käyttäjä jättää nimen rekisteröimättä ja jakaa sen sijaan oman Jami-tunnisteensa (pitkän merkkijonon) suoraan luotetuille yhteystiedoille esimerkiksi QR-koodina kasvokkain tai jo etukäteen salatun kanavan kautta.

Rekisteröinnin jälkeen muut käyttäjät löytävät sinut hakemalla juuri valitsemaasi nimeä sovelluksen yhteystietohaussa, samaan tapaan kuin käyttäjänimi toimii monissa muissakin palveluissa. Käytännön vinkkinä kannattaa valita nimi, joka ei suoraan paljasta oikeaa henkilöllisyyttäsi, jos tavoitteena on säilyttää tietty etäisyys julkisen profiilin ja yksityiselämän välillä. Koska nimi kirjoitetaan pysyvästi lohkoketjuun, sitä ei voi myöhemmin poistaa täysin verkosta, vaikka itse sovellustilin voisikin lopettaa. Tämä pysyvyys on tietoinen suunnitteluvalinta, joka tekee nimipalvelusta vaikeasti väärennettävän, mutta se kannattaa ottaa huomioon jo ennen rekisteröintipäätöstä.

Vaihe 7: Laitteiden linkitys ja monilaitetuki

Jami tukee yhden tilin käyttöä usealla laitteella samanaikaisesti, mikä on erityisen kätevää, jos haluat lukea viestejä sekä puhelimella että tietokoneella. Sen sijaan, että loisit erillisen tilin jokaiselle laitteelle, linkität olemassa olevan tilin uuteen laitteeseen sovelluksen “Linkitä toinen laite” -toiminnolla.

Tekninen tausta on sama avainmalli kuin tilin luonnissa: kun linkität laitteen, olemassa oleva tili allekirjoittaa uuden laitteen sertifikaatin omalla yksityisellä avaimellaan, jolloin molemmat laitteet tunnistavat toisensa saman identiteetin osiksi. Käytännössä tämä tarkoittaa, että kaikki linkitetyt laitteet näkevät samat keskustelut ja voivat vastata niihin, koska ne jakavat saman kryptografisen identiteetin OpenDHT-verkon silmissä. Tämä eroaa esimerkiksi vanhoista puhelinnumeroon sidotuista sovelluksista, joissa yksi tili on usein tiukasti kytketty vain yhteen päälaitteeseen kerrallaan.

Uusi laite tarvitsee linkitystä varten joko olemassa olevan laitteen luoman PIN-koodin tai QR-koodin sekä tiliä suojaavan salasanan, jos sellainen on asetettu. Suosittelemme aina asettamaan salasanan heti tilin luonnin jälkeen, koska ilman sitä kuka tahansa fyysisen pääsyn saava henkilö voisi periaatteessa linkittää oman laitteensa tiliisi.

Jos laite katoaa, varastetaan tai vaihdetaan uuteen, kannattaa poistaa vanha laite tilin laiteluettelosta mahdollisimman pian sovelluksen asetuksista. Tämä katkaisee vanhan laitteen sertifikaatin voimassaolon, jolloin se ei voi enää vastaanottaa uusia viestejä tai osallistua keskusteluihin tilin nimissä. On kuitenkin syytä huomioida, että jos kadonnut laite ehti olla verkossa hetken varkauden jälkeen, se on saattanut jo vastaanottaa osan viesteistä paikallisesti, joten laitteen poistaminen tilistä ei poista jo laitteelle tallentunutta dataa. Tästä syystä laitteen oma näytön lukitus ja levyn salaus ovat yhtä tärkeitä turvallisuustekijöitä kuin itse Jami-tilin asetukset.

Vaihe 8 ja 9: Salaus käytännössä, RSA-4096 ja TLS 1.3

Jamin oma dokumentaatio kertoo, että puheluissa ja tiedostonsiirroissa käytetään TLS- ja SRTP-protokollia, joilla on täydellinen eteenpäin salaus (perfect forward secrecy) neuvotelluille salausavaimille. Tyypillinen hallintayhteyden salaussarja on dokumentoitu muodossa TLS 1.3, ECDHE-avainten vaihto SECP384R1-käyrällä, RSA-PSS-RSAE-SHA384-todennus ja AES-256-GCM-symmetrinen salaus. Tämä vastaa käytännössä nykyaikaista, laajasti auditoitua TLS 1.3 -standardia, ei mitään Jamin omaa räätälöityä protokollaa.

Puhelun tai videopuhelun ulkopuolella lähetetyt tekstiviestit salataan sen sijaan suoraan tilin RSA-avaimella. Jamin protokolladokumentaatio täsmentää, että viestiliikenteessä käytetään yksittäistä RSA-4096-avainta, eli 4096-bittistä RSA-salausta. Tämä on selvästi vahvempi avainkoko kuin monissa vanhemmissa järjestelmissä käytetty RSA-2048, mikä antaa ylimääräistä marginaalia tulevaisuuden laskentatehon kasvua vastaan, vaikka RSA sinänsä ei ole jälkikvanttiturvallinen algoritmi.

Samat sertifikaatti-RSA-avaimet toimivat myös laitteiden todentamisen perustana: yksityistä avainta käytetään sekä saapuvien viestien purkamiseen että uusien laitesertifikaattien allekirjoittamiseen, kuten edellisessä vaiheessa kuvattiin. Käytännön kannalta tämä tarkoittaa, että koko tilin turvallisuus nojaa siihen, kuinka hyvin käyttäjä suojaa laitteensa ja tekemänsä varmuuskopion.

Miksi juuri AES-256-GCM ja SECP384R1-käyrä ovat kiinnostavia valintoja? AES-256-GCM on symmetrinen lohkosalain, joka salaa itse datan nopeasti ja tarjoaa samalla sisäänrakennetun eheystarkastuksen, joka paljastaa, jos joku yrittää muokata salattua liikennettä matkalla. ECDHE-avaintenvaihto SECP384R1-käyrällä puolestaan tuottaa jokaiselle istunnolle uuden, väliaikaisen avaimen, mikä on juuri se mekanismi, joka mahdollistaa täydellisen eteenpäin salauksen: vaikka joku onnistuisi jotenkin murtamaan yhden istunnon avaimen, se ei auta minkään muun istunnon purkamisessa. Tämä yhdistelmä vastaa käytännössä samaa turvallisuustasoa, jota käytetään esimerkiksi moderneilla pankki- ja terveydenhuoltosivustoilla TLS 1.3:n kautta, eikä Jami siis nojaa mihinkään eksoottiseen tai testaamattomaan omaan salausratkaisuun puheluiden ja tiedostonsiirtojen osalta.

Vaihe 10: Ryhmäkeskustelut, puhelut ja tiedostonsiirto

Perustoimintojen asennuttua Jami tarjoaa samat ominaisuudet, joita käyttäjät odottavat nykyaikaiselta viestisovellukselta: tekstiviestit, ääni- ja videopuhelut, ruudunjako sekä tiedostonsiirto. Jamin oma ominaisuuslistaus mainitsee myös puhelujen tallennuksen (sekä ääni että video) ja mahdollisuuden käyttää samaa tiliä usealla laitteella samanaikaisesti, mistä kerrottiin jo vaiheessa 7.

Ryhmäkeskustelun aloittaminen tapahtuu valitsemalla useampi yhteystieto samaan keskusteluun. Koska viestien reititys perustuu OpenDHT-verkkoon, ryhmäkeskustelun jokainen jäsen vastaanottaa viestit suoraan muilta jäseniltä ilman, että mikään keskuspalvelin tallentaa koko ryhmän historiaa. Tämä on tietoinen kompromissi: hajautettu malli parantaa yksityisyyttä, mutta tekee esimerkiksi offline-jäsenen viestihistorian synkronoinnista teknisesti monimutkaisempaa kuin palvelinvetoisessa ratkaisussa, koska viestit pitää välittää sitä mukaa, kun laitteet ovat verkossa.

Käytännön testissä ryhmäkeskustelu toimii sujuvasti niin kauan kuin ryhmän koko pysyy kohtuullisena, muutamasta hengestä pariinkymmeneen. Suurissa, kymmenien tai satojen jäsenten ryhmissä palvelimeton malli alkaa kuormittaa yksittäisiä laitteita enemmän, koska jokainen laite osallistuu viestien välittämiseen muille ryhmän jäsenille eikä keskuspalvelin jaa tätä kuormaa. Tästä syystä Jami sopii parhaiten pienten ja keskisuurten tiimien, perheiden tai ystäväpiirien käyttöön, ei suurten yhteisöjen tai julkisten kanavien alustaksi.

Tiedostonsiirto toimii samalla periaatteella kuin viestit: tiedosto lähetetään suoraan vastaanottajan laitteelle salattuna, ilman välivaihetta pilvipalvelimella. Isoja tiedostoja lähetettäessä kannattaa varmistaa, että molemmat osapuolet ovat verkossa samanaikaisesti, sillä vertaisverkkomalli ei tue palvelimelle jäävää “odota, kunnes vastaanottaja kirjautuu sisään” -puskurointia samalla tavalla kuin perinteiset pilvipohjaiset palvelut.

Ruudunjako on hyödyllinen ominaisuus etätuessa ja etäpalavereissa: se toimii samaa videopuhelukanavaa pitkin, joten myös jaettu näyttö kulkee TLS- ja SRTP-suojattuna eikä minkään kolmannen osapuolen jakopalvelun kautta. Puhelujen tallennusominaisuutta harkitessa kannattaa suomalaisen käyttäjän muistaa, että toisen osapuolen puhelun nauhoittaminen ilman tämän tietämystä voi olla ongelmallista henkilötietolainsäädännön ja yksityisyydensuojaa koskevan lain näkökulmasta, joten tallennuksesta kannattaa aina kertoa etukäteen kaikille osallistujille, vaikka tekninen mahdollisuus tallentamiseen olisikin sovelluksessa valmiina.

Vaihe 11: Palomuuri, NAT-läpäisy ja TURN/STUN-asetukset

Koska Jami pyrkii aina muodostamaan suoran yhteyden kahden laitteen välille, verkkoympäristöllä on suuri vaikutus käyttökokemukseen. Jamin oma FAQ-dokumentaatio selittää, että yhteydenmuodostus hoidetaan ICE-protokollan (Interactive Connectivity Establishment) avulla OpenDHT-verkon päällä, ja tämä toimii suoraan useimpien kotireitittimien ja kotiverkkojen takana ilman erillisiä asetuksia.

Jos suora yhteys ei onnistu, esimerkiksi tiukan palomuurin, symmetrisen NAT:in tai puuttuvan IPv6-osoitteen takia, Jami turvautuu TURN-välityspalvelimeen, joka releoi liikenteen osapuolten välillä. STUN-protokollaa Jami puolestaan käyttää dokumentaation mukaan vain SIP-tileillä, ei natiiveilla Jami-tileillä, joten tavallisen käyttäjän ei tarvitse huolehtia STUN-asetuksista erikseen.

Jos olet yrityksen tai koulun verkossa etkä saa puheluita toimimaan, kokeile ensin ulospäin suuntautuvan UDP- ja TCP-liikenteen sallimista palomuurissa Jamin prosessille. Tämä on yleensä ensimmäinen ja tehokkain askel, koska suurin osa epäonnistuneista puheluista johtuu juuri estetystä ulosmenevästä liikenteestä eikä itse sovelluksen asetuksista. Alla esimerkki Ubuntun ufw-palomuurin väljentämisestä, jos epäilet sen estävän yhteyksiä (huomaa, että tarkkoja porttinumeroita ei ole julkisesti dokumentoitu, joten yleisin toimiva ratkaisu on sallia sovelluksen oma ulosmenevä liikenne kokonaan eikä yksittäisiä portteja):

sudo ufw allow out from any to any app jami
sudo ufw status verbose

Jos IPv6 on käytössä reitittimessäsi, sen aktivointi voi vähentää NAT-ongelmia, koska Jamin dokumentaatio nostaa puuttuvan IPv6-osoitteen yhdeksi TURN-releen tarpeen aiheuttajaksi.

Kotikäyttäjän kannattaa myös tarkistaa reitittimen omat asetukset, sillä osa operaattoreiden vakiotoimittamista laitteista rajoittaa oletuksena UPnP-toimintoa (Universal Plug and Play), joka auttaa sovelluksia avaamaan tarvittavia yhteyksiä automaattisesti. Jos UPnP on pois päältä eikä puhelu muodostu suoraan, sen väliaikainen kytkeminen päälle reitittimen hallintapaneelista on usein nopein tapa testata, johtuuko ongelma juuri NAT-asetuksista. Yritysympäristössä vastaavaa säätöä ei yleensä voi tehdä yksittäisen käyttäjän toimesta, jolloin kannattaa olla suoraan yhteydessä IT-osastoon ja pyytää Jamin ulosmenevän liikenteen sallimista erikseen, sen sijaan että yrittäisi kiertää palomuuria omin päin.

Vaihe 12: Jami Web -selainkäyttöliittymä ja hallintapaneeli

Syyskuun 2. päivä 2026 Jami-projekti julkaisi ensimmäisen esikatselun Jami Webistä, paikallisesti isännöitävästä selainkäyttöliittymästä. Toisin kuin ydintuote, Jami Web vaatii Node.js-ympäristön ja asennetaan npm-paketinhallinnan kautta omalle palvelimelle tai koneelle. Se tuo mukanaan myös palvelinpuolen hallintatoimintoja, jotka eivät kuulu Jamin puhtaasti hajautettuun ydinmalliin.

Esikatseluversion mukana tulevat toiminnot antavat käyttäjän linkittää olemassa olevan Jami-tilin toiselta laitteelta suoraan selaimeen, kun taas ylläpitäjät voivat hallita tilejä, nollata salasanoja palvelinpaneelista, määrittää OpenID-kirjautumispalveluntarjoajia sekä luoda väliaikaisia vierailijatilejä. Ylläpitäjä näkee myös tilikohtaisen aktiviteetin oman Jami Web -palvelimensa kautta.

Käytännössä Jami Web on kiinnostava lisä esimerkiksi organisaatioille, jotka haluavat tarjota henkilöstölle helpon selainpääsyn Jamiin ilman erillistä sovellusasennusta, mutta samalla säilyttää mahdollisuuden lisätä kevyen keskitetyn hallintakerroksen ylle. On syytä ymmärtää, että tämä hallintakerros on ydinverkon päälle rakennettu lisäosa, ei korvaus itse OpenDHT- ja JamiNS-pohjaiselle hajautetulle arkkitehtuurille. Ennen asennusta kannattaa tarkistaa, että Node.js on riittävän tuore:

node --version
npm --version

Näiden komentojen tulisi palauttaa Node.js-versio 18 tai uudempi ennen kuin jatkat Jami Webin asennusohjeisiin projektin virallisesta dokumentaatiosta.

Jami Webin OpenID-tuki on erityisen kiinnostava organisaatioille, joilla on jo käytössä keskitetty kirjautumisjärjestelmä esimerkiksi Microsoft Entra ID:n tai muun identiteetinhallintapalvelun kautta. Sen sijaan, että jokainen työntekijä loisi täysin erillisen Jami-tilin ilman minkäänlaista yhteyttä organisaation muihin järjestelmiin, OpenID-integraatio antaa ylläpitäjälle mahdollisuuden yhdistää kirjautumisen olemassa olevaan identiteettiin, samalla kun itse viestiliikenne pysyy edelleen päästä päähän salattuna laitteiden välillä. Väliaikaiset vierailijatilit puolestaan sopivat tilanteisiin, joissa ulkopuolinen konsultti tai freelancer tarvitsee pääsyn yhteen keskusteluun vain rajatuksi ajaksi ilman pysyvän tilin luomista.

Vaihe 13: Käytännön esimerkki, pieni tiimi ottaa Jamin käyttöön

Kootaan edellä opitut vaiheet yhdeksi täydelliseksi esimerkiksi. Kuvitteellinen viiden hengen tutkiva toimittajaryhmä Helsingissä haluaa siirtyä käyttämään Jamia sisäiseen viestintään lähteiden suojaamiseksi. Ensin jokainen tiimin jäsen asentaa Jamin omalle työkoneelleen Snapin kautta (sudo snap install jami) ja puhelimeensa F-Droidista. Jokainen luo oman tilinsä ilman puhelinnumeroa, tekee heti salasanalla suojatun varmuuskopion ja jättää käyttäjänimen tarkoituksella rekisteröimättä yksityisyyden maksimoimiseksi.

Sen sijaan, että käyttäjänimet jaettaisiin julkisesti, tiimi vaihtaa Jami-tunnisteensa kasvokkain toimituksen tapaamisessa QR-koodien avulla, minkä jälkeen jokainen linkittää oman puhelimensa samaan tiliin kuin työkoneensa vaiheen 7 mukaisesti. Tiimi perustaa yhden ryhmäkeskustelun projektikohtaista viestintää varten ja käyttää suoria puheluita herkempien asioiden käsittelyyn, koska puhelut suojataan TLS 1.3- ja SRTP-yhdistelmällä täydellisellä eteenpäin salauksella.

Koska toimituksen verkko on suojattu palomuurilla, tiimin IT-vastaava sallii Jamin ulosmenevän liikenteen palomuurissa vaiheen 11 ohjeiden mukaisesti ja varmistaa, että kotitoimistoista työskentelevillä on IPv6 käytössä, jotta yhteydet muodostuisivat suoraan ilman TURN-relettä aina kun mahdollista. Lopuksi tiimi harkitsee oman Jami Web -palvelimen pystyttämistä, jotta myös kannettavaa tietokonetta käyttämättömät vapaaehtoiset avustajat pääsevät mukaan keskusteluun selaimen kautta hallitulla tavalla.

Kolmen kuukauden käytön jälkeen tiimi arvioi kokemuksiaan: puheluiden laatu ja salaus toimivat luvatusti, mutta pari jäsentä joutui alkuun tottumaan siihen, ettei viestihistoria synkronoidu yhtä saumattomasti kuin pilvipohjaisissa sovelluksissa silloin, kun jonkun laite on ollut pitkään sammuksissa. Tämä ratkesi käytännössä sillä, että yksi tiimin kannettavista jätettiin toimistolle jatkuvasti verkkoon kytkettynä, mikä nopeutti viestien perilletuloa myös niille jäsenille, jotka olivat itse hetkellisesti offline-tilassa. Kokemus vastaa hyvin sitä, mitä hajautetulta arkkitehtuurilta voi realistisesti odottaa: turvallisuus ja yksityisyys paranevat selvästi, mutta käyttäjän on hyväksyttävä pieniä käytännön kompromisseja verrattuna keskitettyihin palveluihin.

Yleisimmät sudenkuopat Jamin käyttöönotossa

Suurin osa Jamin käyttöönotossa esiintyvistä ongelmista ei liity itse sovelluksen laatuun vaan siihen, että sen palvelimeton toimintamalli poikkeaa niin paljon totutuista viestisovelluksista. Alla olevat kuusi kohtaa ovat yleisimpiä virheitä, joita uudet käyttäjät tekevät ensimmäisten viikkojen aikana, ja jokaisen kohdalla on kerrottu myös, miksi juuri se on riski nimenomaan hajautetussa arkkitehtuurissa.

  • Varmuuskopion unohtaminen. Koska tiliä ei voi palauttaa keskuspalvelimelta, laitteen vaihtuminen ilman varmuuskopiota tarkoittaa koko tilin ja keskusteluhistorian menettämistä.
  • Molempien osapuolten oletetaan olevan aina verkossa. Vertaisverkkomalli toimii parhaiten, kun molemmat osapuolet ovat samanaikaisesti verkossa. Pitkät offline-jaksot voivat viivästyttää viestien ja tiedostojen perillemenoa.
  • Käyttäjänimen rekisteröinti ilman harkintaa. Julkinen käyttäjänimi tekee löydettävyydestä helpompaa, mutta samalla se on kenen tahansa haettavissa JamiNS-lohkoketjusta, mikä voi olla ei-toivottua korkean yksityisyystarpeen käyttäjille.
  • Laitteen linkitys ilman salasanaa. Jos tiliä ei ole suojattu salasanalla, kuka tahansa fyysisen pääsyn saava henkilö voi periaatteessa linkittää oman laitteensa tiliin.
  • Yritys- tai kouluverkon palomuurin aliarviointi. Tiukka symmetrinen NAT tai estetty UDP-liikenne johtaa usein siihen, että puhelut eivät muodostu suoraan, vaan tarvitsevat TURN-relettä tai epäonnistuvat kokonaan.
  • Sekaannus Jamin ja Jami Webin välillä. Jami Web on erillinen, palvelinpuolen komponentin sisältävä lisäosa, ei sama asia kuin ydinsovelluksen palvelimeton arkkitehtuuri. Näiden kahden mallin turvallisuusominaisuudet eivät ole identtiset.

Näistä kuudesta kohdasta kaksi ensimmäistä aiheuttavat käytännössä eniten tukipyyntöjä käyttäjäfoorumeilla: varmuuskopion puuttuminen ja oletus jatkuvasta yhteydestä. Kumpikin juontaa juurensa siitä, että Jamin käyttäjät tuovat usein mukanaan totutut mielikuvat keskitetyistä palveluista, joissa tili ja keskusteluhistoria elävät aina jossain pilvipalvelimella riippumatta siitä, mitä laitteelle tapahtuu. Kun tätä turvaverkkoa ei ole, pienikin huolimattomuus varmuuskopioinnissa voi johtaa koko keskusteluhistorian pysyvään menetykseen, minkä vuoksi se kannattaa listata ensimmäiseksi tehtäväksi heti asennuksen jälkeen, ei vasta silloin, kun ongelma on jo tapahtunut.

Vianmääritys: 8 yleisintä ongelmaa ja ratkaisua

Kun perusasennus on tehty ja tili luotu, suurin osa jäljellä olevista ongelmista liittyy joko verkkoyhteyteen tai laitteiden väliseen synkronointiin. Taulukkoon on koottu kahdeksan yleisintä tilannetta, joita käyttäjät kohtaavat ensimmäisten viikkojen aikana, sekä käytännön ratkaisu jokaiseen.

OngelmaTodennäköinen syyRatkaisu
Puhelu ei muodostu lainkaanMolemmat osapuolet symmetrisen NAT:in takanaVarmista TURN-releen saatavuus tai kokeile eri verkkoa
Ääni kuuluu, video eiPalomuuri estää osan UDP-liikenteestäSalli sovelluksen ulosmenevä liikenne kokonaan palomuurissa
Viesti jää “lähetetty”-tilaanVastaanottajan laite ei ole verkossaOdota vastaanottajan kirjautumista verkkoon, viesti toimitetaan silloin
Tiliä ei löydy uudella laitteellaVarmuuskopiota ei ole tehty tai linkitys epäonnistuiKäytä alkuperäistä laitetta linkittämiseen PIN- tai QR-koodilla
Käyttäjänimen rekisteröinti epäonnistuuNimi on jo varattu JamiNS-lohkoketjussaKokeile toista käyttäjänimeä
Snap-asennus jää roikkumaanSnapd-palvelu ei ole käynnissäKäynnistä palvelu komennolla sudo systemctl restart snapd
Sovellus ei käynnisty macOS:lläGatekeeper estää allekirjoittamattoman sovelluksenSalli sovellus Järjestelmäasetukset > Tietoturva ja yksityisyys -valikosta
Ryhmäkeskustelu ei synkronoidu kaikilleOsa jäsenistä ei ole ollut verkossa viestin lähetyshetkelläAnna jäsenten kirjautua sisään, jolloin viestit täydentyvät jälkikäteen

Yleinen nyrkkisääntö vianmäärityksessä on edetä kerroksittain ulkoa sisäänpäin: tarkista ensin, onko molemmilla osapuolilla toimiva internetyhteys, sitten laitteen käyttöoikeudet kameralle ja mikrofonille, sitten paikallinen palomuuri ja vasta viimeisenä itse Jami-sovelluksen asetukset. Suurin osa tässä taulukossa listatuista ongelmista ratkeaa jo ensimmäisillä kahdella askeleella, koska ne kattavat valtaosan käytännön tapauksista, joita uudet käyttäjät kohtaavat asennuksen jälkeisinä ensimmäisinä viikkoina.

Edistyneet vinkit kokeneemmille käyttäjille

Perusasennuksen ja tilin hallinnan opeteltuaan moni käyttäjä haluaa hioa Jamin asetuksia vielä pidemmälle, joko paremman käytettävyyden tai tiukemman turvallisuuden vuoksi. Seuraavat kolme vinkkiä nousivat esiin toistuvasti tätä opasta varten käydyssä tekniikkakatsauksessa ja sopivat erityisesti käyttäjille, jotka ovat jo tottuneet Jamin perustoimintoihin.

Kun perusasennus on kunnossa, kannattaa tutustua muutamaan lisäasetukseen, jotka parantavat käyttökokemusta tai turvallisuutta entisestään. Ensinnäkin, jos käytät Jamia useassa laitteessa, harkitse yhden laitteen jättämistä pysyvästi verkkoon (esimerkiksi kotipalvelimelle tai Raspberry Pi -tyyppiselle laitteelle), jolloin viestit ja tiedostot toimittuvat nopeammin muille laitteille myös silloin, kun puhelin on pois päältä.

Toiseksi, jos toimit organisaatiossa, joka harkitsee Jami Webin käyttöönottoa, kannattaa erottaa hallintapalvelimen ylläpito varsinaisesta viestiliikenteestä omaan verkkosegmenttiinsä, koska hallintapaneeli ja OpenID-kirjautuminen tuovat mukanaan tavanomaisia web-palvelimen hyökkäyspintoja, joita puhtaassa vertaisverkkomallissa ei ole.

Kolmanneksi, jos vaihdat laitetta usein tai matkustat paljon, tee varmuuskopiosta useampi kopio eri paikkoihin (esimerkiksi salattuun USB-tikkuun ja salasananhallintaan liitettyyn tiedostosäilöön), koska yksittäisen kopion katoaminen tarkoittaa koko tilin identiteetin menettämistä ilman mahdollisuutta palautukseen keskuspalvelimelta.

Neljänneksi, jos yhdistät Jamia muuhun turvallisuusinfrastruktuuriin, esimerkiksi Tails- tai Whonix-pohjaiseen työasemaan, muista, että hajautettu OpenDHT-liikenne paljastaa väistämättä IP-osoitteesi suoralle yhteydelle, ellet reititä sitä erikseen Tor-verkon tai VPN-yhteyden kautta. Jami suojaa viestien ja puheluiden sisällön erinomaisesti, mutta se ei itsessään piilota, mistä verkko-osoitteesta yhteys muodostuu, joten korkean uhkamallin käyttäjän kannattaa yhdistää Jami muuhun verkkotason suojaukseen, jos IP-osoitteen paljastuminen on riski.

Jami, Signal ja Matrix vierekkäin

Alla oleva taulukko kokoaa yhteen kolmen eri arkkitehtuurin keskeiset erot. Vertailu perustuu kunkin projektin omaan julkiseen dokumentaatioon, eikä siihen ole sisällytetty numeroita, joita ei ole voitu vahvistaa virallisista lähteistä.

OminaisuusJamiSignalMatrix (Synapse)
ArkkitehtuuriPalvelimeton, vertaisverkko (OpenDHT)Keskitetty palvelinFederoitu, useita palvelimia
Tilin tunnisteKryptografinen avainpari, ei puhelinnumeroaPuhelinnumeroKäyttäjätunnus + kotipalvelin
NimipalveluJamiNS (Ethereum-lohkoketju)Ei erillistä, puhelinnumero toimii tunnisteenaPalvelimen oma käyttäjärekisteri
ViestisalausRSA-4096 (viestit), TLS 1.3 / SRTP (puhelut)Signal-protokolla (Double Ratchet)Olm/Megolm-protokolla
Keskusteluhistoria palvelimellaEi, pysyy laitteillaMetatietoja palvelimella, sisältö salattuKyllä, kotipalvelimella
LisenssiVapaa/avoin lähdekoodiAvoin lähdekoodiAvoin lähdekoodi

Taulukosta näkyy, miksi Jami kiinnostaa erityisesti käyttäjiä, jotka haluavat minimoida keskuspalvelimelle jäävän metatiedon: siinä ei yksinkertaisesti ole sellaista palvelinta, jolle metatietoa voisi kertyä samalla tavalla kuin Signalissa tai Matrixissa. Hintana on suurempi tekninen monimutkaisuus offline-skenaarioissa ja se, että käyttäjän oma laite ja sen varmuuskopiointi kantavat koko vastuun tilin säilymisestä.

Auditointihistoria on kohta, jossa projektit eroavat selvästi toisistaan. Signal-protokollaa on tutkittu akateemisesti ja käytännössä laajalti vuosien ajan, ja se toimii myös monen muun sovelluksen, kuten WhatsAppin, salausmoottorina. Sveitsiläinen Threema on julkaissut useita ulkopuolisten tutkijoiden, kuten Cure53:n ja ETH Zürichin, tekemiä auditointiraportteja viime vuosina. Jamin tapauksessa julkinen lähdekoodi on kenen tahansa tarkistettavissa GitLabissa, mutta laajoja, nimettyjä kolmannen osapuolen turvallisuusauditointeja ei ole samassa määrin julkisesti saatavilla kuin edellä mainituilla kilpailijoilla. Tämä ei tarkoita, että Jami olisi turvaton, mutta se on osa-alue, joka kannattaa ottaa huomioon, jos vertailet vaihtoehtoja erityisen korkean uhkamallin käyttötarkoitukseen, kuten toimittajan lähdesuojaan tai ihmisoikeustyöhön.

Toinen huomionarvoinen ero on projektien koko ja rahoitusmalli. Signalia ylläpitää voittoa tavoittelematon Signal-säätiö, joka on saanut merkittävää ulkopuolista rahoitusta, ja Matrix-ekosysteemiä kehittää sekä Matrix.org-säätiö että kaupallinen Element-yhtiö rinnakkain. Jami puolestaan on yhden kanadalaisen ohjelmistoyhtiön, Savoir-faire Linuxin, ylläpitämä projekti, mikä tarkoittaa pienempää kehittäjäyhteisöä mutta myös suorempaa päätöksentekoketjua uusien ominaisuuksien, kuten syyskuun 2026 Jami Web -esikatselun, julkaisussa.

Kokonaisuutena Jami sopii parhaiten käyttäjälle tai tiimille, joka on jo tutustunut viestisovellusten perusteisiin ja haluaa nimenomaan välttää keskuspalvelimen, olipa kyse sitten metatiedon minimoinnista, riippumattomuudesta yksittäisestä yrityksestä tai halusta ymmärtää tarkemmin, miten oma viestintä teknisesti kulkee. Asennus ei ole sen monimutkaisempi kuin minkä tahansa muun sovelluksen, mutta tilin hallinta, varmuuskopiointi ja verkkoympäristön ymmärtäminen vaativat hieman enemmän ajatustyötä kuin totutuissa, palvelinvetoisissa vaihtoehdoissa. Yllä käydyt 13 vaihetta kattavat koko polun asennuksesta täysimittaiseen tiimikäyttöön asti, ja niiden avulla myös aiemmin Signaliin, Matrixiin tai Briariin tottunut käyttäjä pääsee liikkeelle ilman turhia yllätyksiä.

Usein kysytyt kysymykset Jamista

Onko Jami täysin ilmainen?

Kyllä, Jami on ilmainen ja avoimen lähdekoodin sovellus kaikilla tuetuilla alustoilla: Linuxilla, Windowsilla, macOS:llä, Androidilla, Android TV:llä ja iOS:llä.

Tarvitseeko Jamin käyttöön puhelinnumeron?

Ei. Tili perustuu paikallisesti generoituun kryptografiseen avainpariin, eikä sovellus kysy puhelinnumeroa, sähköpostiosoitetta tai muuta henkilötietoa tilin luonnin yhteydessä.

Mitä tapahtuu, jos hukkaan laitteeni eikä varmuuskopiota ole?

Koska Jamilla ei ole keskuspalvelinta, joka voisi palauttaa tilin, hukatun laitteen tili ja sen keskusteluhistoria menetetään pysyvästi, jos salasanalla suojattua varmuuskopiota ei ole tehty etukäteen.

Onko Jami turvallisempi kuin Signal?

Kysymys ei ole yksiselitteinen. Signal käyttää laajasti auditoitua Signal-protokollaa, mutta tallentaa tiettyjä metatietoja keskitetylle palvelimelleen ja vaatii puhelinnumeron. Jami taas ei tallenna metatietoja keskuspalvelimelle lainkaan, mutta sen hajautettu malli on rakenteellisesti monimutkaisempi ja saanut vähemmän julkista, riippumatonta kolmannen osapuolen turvallisuusauditointia kuin Signal-protokolla. Valinta riippuu siis siitä, arvostaako käyttäjä enemmän laajasti testattua protokollaa vai metatiedottomuutta.

Voiko Jamia käyttää selaimessa?

Syyskuussa 2026 julkaistu Jami Web -esikatselu tuo selainkäyttöliittymän, joka vaatii Node.js-ympäristön ja asennetaan paikalliselle palvelimelle. Se ei ole vielä lopullinen, julkiseen käyttöön suunnattu pilvipalvelu, vaan itse ylläpidettävä lisäosa.

Toimiiko Jami hyvin yritysverkon palomuurin takana?

Tiukat palomuurit ja symmetriset NAT-asetukset voivat estää suoran vertaisverkkoyhteyden muodostumisen, jolloin Jami turvautuu TURN-välityspalvelimeen. Suora yhteys onnistuu yleensä ongelmitta tavallisen kotireitittimen takana.

Kannattaako käyttäjänimi rekisteröidä JamiNS-palvelussa?

Käyttäjänimi helpottaa löydettävyyttä, mutta se on julkinen ja kenen tahansa haettavissa lohkoketjusta. Korkean yksityisyystarpeen käyttäjät jättävät usein nimen rekisteröimättä ja jakavat tunnisteensa suoraan luotetuille yhteystiedoille.

Kuka Jamia kehittää?

Jamia kehittää montrealilainen ohjelmistoyhtiö Savoir-faire Linux. Sovellus tunnettiin aiemmin nimillä Ring ja SFLphone, ennen kuin se nimettiin uudelleen Jamiksi. Lähdekoodi on julkisesti saatavilla, ja projekti on kehittynyt vuosien saatossa puhelinsovelluksesta täysimittaiseksi viesti- ja puhelualustaksi.