Coder Social home page Coder Social logo

Supporto oltre a Apple/Google about io-app HOT 26 OPEN

pagopa avatar pagopa commented on August 20, 2024 38
Supporto oltre a Apple/Google

from io-app.

Comments (26)

fpesari avatar fpesari commented on August 20, 2024 10

Salve, a che punto è la versione web? Alcuni servizi (come la Carta Giovani Nazionale) sono erogati esclusivamente tramite IO e non credo sia giusto subordinarne la fruizione al possesso di un account Apple o Google.

from io-app.

Zekromaster avatar Zekromaster commented on August 20, 2024 9

Un inizio (ma assolutamente non un punto di arrivo) potrebbe essere semplicemente rilasciare l'APK tramite le release di GitHub.

La dipendenza dalle API di Google rimane, ma queste possono essere rimpiazzate da MicroG dall'utente finale stesso (l'utente che usi MicroG, al momento, non ha proprio modo di scaricare l'applicazione).

Ovviamente questo sarebbe solo un punto di inizio per permettere l'utilizzo basilare dell'applicazione a chi non voglia o non possa interfacciarsi con Google nell'uso dell'applicazione. L'ideale, eticamente parlando, sarebbe la possibilità di evitare ogni tecnologia proprietaria se l'utente finale lo desidera, ma visti i potenziali tempi di sviluppo e l'importanza dell'applicazione, nel frattempo un compromesso del genere eviterebbe interminabili attese a chi volesse già da ora usare l'applicazione su dispositivi "degoogled".

from io-app.

Enrico204 avatar Enrico204 commented on August 20, 2024 7

grazie @CaraDune del vostro interessamento a questo ticket!

Sto leggendo con molta attenzione le linee guida che ha indicato, sono molto interessanti.

I "problemi" che io vedo con le linee guida indicate sono questi due:

  • in primis, viene indicata esplicitamente la "App IO" (6.1 primo paragrafo), questo escluderebbe la possibilità per altre persone di creare altre app come "canali di comunicazione"
  • in secondo luogo, viene indicato che, cito testualmente: "Il Punto di accesso telematico si compone di un front-end multicanale; esso DEVE almeno includere una applicazione per dispositivi mobili e tablet (“App IO”) e DOVREBBE includere una versione web." (enfasi aggiunta). Con questa frase non c'è certezza di avere un meccanismo alternativo alla app "IO" per l'accesso ai servizi (qualcosa che non richieda uno smartphone Apple o legato a Google).

Ho anche letto la documentazione delle API e le informazioni sul back-office, e tutto quello che riguarda la partnership tecnologica. Tuttavia sono cose che riguardano l'esporre servizi dentro "IO", mentre qui stiamo parlando di quello che, nella documentazione sopra citata, viene chiamato "Punto di accesso telematico" (ovvero la stessa app "IO").

Le linee guida sopra citate, riguardanti appunto il "Punto di accesso telematico", e la mancanza di un metodo di accesso completamente libero (APK libero disponibile, o sito web) obbligano le persone a legarsi alle due aziende private Google e Apple. Questo non è sempre possibile: ci sono casi documentati 1 2 3 4 in cui le due società, per motivi non comunicati alla persona interessata, hanno deciso di interrompere unilateralmente la fornitura di servizi a privati cittadini, per sempre.

In altre parole, se la app "IO" rimane soltanto sul Google Play Store e sull'Apple App Store, ci sono (e/o ci saranno) cittadini che non potranno accedere alla app per volontà delle due aziende (in gergo, un "lifetime ban").

Visto che le linee guida sono ancora in bozza, e visto che ci sono diversi di noi che si stanno offrendo di collaborare a questa cosa, credo sia molto importante per PagoPA e AgID prendere al volo questa occasione di risolvere il problema tecnico-legale sopra citato che presenterà sicuramente in futuro.

Comprendo che per strutturare un rilascio anche su piattaforme alternative serva del tempo (tecnico e non). Propongo quindi una soluzione: autorizzare l'uso delle API correnti della App "IO" a terze parti fino a quando PagoPA non sarà attrezzata per gestire il rilascio di APK liberamente (su F-Droid e altre parti), così da permettere alla community di creare una versione alternativa di "IO" (ovviamente con diverso logo/nome/etc) per colmare questo gap. La community si occuperà di questo fork (quindi partendo dal codice attuale, e tenendolo allineato) fino a quando PagoPA non sarà pronta a gestire la situazione.

Grazie per il tempo dedicato :-)
Enrico

from io-app.

Undermaken avatar Undermaken commented on August 20, 2024 5

Ciao @Enrico204, l'app non ha alcun meccanismo di HMAC o certificate pinning per cui il mittente della richiesta venga discriminato. Una volta ottenuto il token di sessione attraverso la login SPID o CIE ogni richiesta HTTP, con header Authentication impostato con il token di sessione, è valida.

Piuttosto, lato nostro, dovremmo fare in modo di inoltrare la notifica verso altri providers che non siano solo Firebase e APNS (es Onesignal ?!). IO pone le sue fondamenta sugli avvisi (la PA verso il cittadino e non il vice versa), quindi è una caratteristica che dovrebbe essere assicurata quella delle push notifications

[Update] la mia risposta è puramente tecnica. Fare un app clone di IO e distribuirla, è possibile? Questo è un tema di diritti di prodotto, immagino. Non so dire se sia lecito oppure no (@CaraDune thoughts?)

Sicuramente si potrebbe incanalare lo sforzo tra comunity e PagoPa che ne garantisce l'autorità e la bontà dell'artefatto

from io-app.

Enrico204 avatar Enrico204 commented on August 20, 2024 5

grazie @CaraDune della precisazione. In effetti logo e nome della app (ed eventualmente altri asset) possono essere protetti da diversa licenza, cosa che tuttavia non pregiudica la redistribuzione di un binario compilato dai sorgenti (come nel caso di Firefox, che su F-Droid usa un logo diverso ed il nome "Fennec" per gli stessi motivi).

Dunque, anche io, leggendo il messaggio, sono giunto alla stessa conclusione di @strk che sia necessaria un'autorizzazione per poter utilizzare le API che sta usando la app "Io". E anche io chiedo di conoscere le modalità per questo accreditamento.

Siamo impazienti di capire come possiamo aiutare "Io" a diffondersi anche tra le persone, come me e credo @strk , che usano un sistema libero e non possono legarsi a Google per accedere ai servizi della PA :-)

(ovviamente, la redistribuzione avverrà con un nome e logo diversi, in pieno rispetto delle licenze)

from io-app.

giupardeb avatar giupardeb commented on August 20, 2024 4

@strk potrei pensarci io..mi servirebbe capire se i mainteiner mi danno "l'autorizzazione" a procedere. Inoltre dovremmo essere compatibili con le inclusion policy (No firebase, no google play-services..etc..)

from io-app.

giupardeb avatar giupardeb commented on August 20, 2024 4

bene, mi era sfuggita quella frase..la cosa importante da fare a questo punto è creare una fork ed iniziare ad eliminare firebase e i playservices

from io-app.

Enrico204 avatar Enrico204 commented on August 20, 2024 4

@CaraDune purtroppo devo correggerti: la App può essere distribuita da terze parti. Lo avete stabilito nella licenza di questo repository (EUPL, e per alcuni asset Apache 2.0 e OFL).

Dunque, dato per assunto che la app è redistribuibile e anche modificabile, la domanda rimane: le API possono essere utilizzate da qualsiasi persona liberamente, o soltanto dalla app distribuita e rilasciata da PagoPA?

from io-app.

Enrico204 avatar Enrico204 commented on August 20, 2024 2

Si, come avrai intuito dopo l'update, la domanda era principalmente "burocratica". Tecnicamente parlando le cose si possono risolvere (c'è anche microG da valutare, per esempio), ma prima di fare qualsiasi sforzo dobbiamo capire se lato PagoPA è consentito che app di terze parti possano usare lo stesso backend. Senza backend chiaramente non ha senso neanche provare.

Dal punto di vista di licenze per il codice della app, non ci sono problemi alla redistribuzione della app vista la licenza in uso (sebbene il trademark e forse qualche asset siano da cambiare).

Se sarà consentito fare delle richieste al backend da app di terze parti, allora inizierò a metter su un repository e proporre qualche soluzione per i problemi tecnici (notifiche, etc)

from io-app.

CaraDune avatar CaraDune commented on August 20, 2024 2

Grazie a @Enrico204 e @strk per queste domande, anzi saremo contenti se le info che seguono vorrete diffonderle ad altri contributori interessati.

In generale, potete consultare il sito ufficiale del progetto IO io.italia.it per avere un overview - è davvero molto ricco e dovreste trovare tutte le informazioni che vi interessano, in caso contrario fatecelo pure sapere, così che possiamo integrare i contenuti per altre persone che potrebbero avere le stesse vostre domande.

L’intero funzionamento del progetto si trova invece su Docs Italia, dove sono pubblicate le linee guida che stanno per essere adottate da AgID ex 71 CAD, che regoleranno il punto di accesso telematico (di cui l’app IO rappresenta il canale mobile): lì c’è il dettaglio di tutto il processo, i ruoli dei diversi attori coinvolti, gli obiettivi, gli SLA, le misure tecniche, e soprattutto le disposizioni in materia di privacy (a cui teniamo particolarmente).

Sull’uso delle API, come vedrete anche dalle linee guida, essendo pubbliche è consentito a chiunque di effettuare dei test (anche in produzione, utilizzando i vostri CF personali o CF fake che possiamo fornirvi), registrandosi al back office e consultando la documentazione API.

Per esporre servizi su IO, utilizzando le API per conto di pubbliche amministrazioni, invece, uno sviluppatore (in proprio o con la sua società) deve stipulare un accordo con la PA interessata in qualità di partner tecnologico. Questo può essere fatto con gli strumenti legali che la singola PA ha previsto (es. una gara). La singola PA, a sua volta, dovrà (se non l’ha già fatto) aderire a IO firmando l’accordo di adesione (sempre pubblico e aggiornato, lo trovate qui). Per abilitare il partner tecnologico, dovrà nominare con proprio atto la persona fisica che opererà sul backoffice in qualità di Delegato e inserire il suo nominativo e i suoi riferimenti nell’accordo stesso, comunicando a PagoPA qualsiasi variazione via PEC secondo le istruzioni contenute nell’allegato 4 dell’accordo. Solo a seguito di comunicazione formale, infatti, il partner tecnologico può essere abilitato dai nostri admin ad operare in produzione per esporre i servizi che la PA intende offrire su IO.

Si può dire che PagoPA sta considerando la rilevanza del caso d'uso di essere su F-Droid e potrebbe, in futuro, farlo (in virtù del mandato istituzionale conferito per legge).

Speriamo di esservi stati d’aiuto, e grazie ancora per l’interessamento. Abbiamo in programma di coinvolgere la community sempre di più e ci piacerebbe farlo anche con il vostro contributo.

from io-app.

pietro909 avatar pietro909 commented on August 20, 2024 2

Ciao a tutti e grazie ancora per la vostra pazienza.

Per quanto riguarda F-Droid (e altri stores) non siamo ancora in grado di fornire aggiornamenti in merito.
Per tutto il resto (app non ufficiali) rimando alle risposte gia’ date in precedenza.

Procedo a fare un pin di questa discussione.

from io-app.

strk avatar strk commented on August 20, 2024 1

Bisogna inserire un ticket qui: https://gitlab.com/fdroid/rfp/-/issues

from io-app.

strk avatar strk commented on August 20, 2024 1

@giupardeb: leggendo la licenza si direbbe tu non abbia bisogno di autorizzazioni.
https://github.com/pagopa/io-app/blob/master/LICENSE

The Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
sublicensable licence to do the following, for the duration of copyright
vested in the Original Work:
— distribute the Work or copies thereof,

Vedi https://github.com/pagopa/io-app/blob/master/LICENSE#L59

from io-app.

Enrico204 avatar Enrico204 commented on August 20, 2024 1

Io volevo darci un'occhiata e provare a fare una versione senza Firebase, da pubblicare su F-Droid. La domanda, più che sul codice della app, è se la nuova "app" sarà o no autorizzata a chiamare le API del backend. Non so se @Undermaken o qualche altro developer può fare da tramite per questo

from io-app.

CaraDune avatar CaraDune commented on August 20, 2024 1

Grazie @Enrico204 per la domanda.
La licenza che abbiamo adoperato permette di per sé di redistribuire e modificare, e dunque prima di tutto di utilizzare il codice prodotto dai nostri team. Abbiamo scelto l’open source perchè per noi è un valore rendere trasparente ai cittadini la logica dei sistemi che creano le loro nuove esperienze digitali.
L’erogazione di servizi attraverso l’uso del codice in questione (e le relative API), se questa è la domanda, è influenzato però da altre condizioni della licenza (ad esempio, non è possibile redistribuire con i nostri marchi) ma soprattutto è necessario avere un mandato istituzionale ed accordi quadro con le PA Italiane.

Speriamo di aver chiarito la tua curiosità

from io-app.

Rubo3 avatar Rubo3 commented on August 20, 2024

È più stato fatto qualcosa?

from io-app.

giupardeb avatar giupardeb commented on August 20, 2024

Beh ho provato a fare qualcosa...ma non avendo molta esperienza in firebase..ho avuto qualche problema all'inizio..poi purtroppo non ho avuto più il modo di lavorarci.

from io-app.

CaraDune avatar CaraDune commented on August 20, 2024

TL;DR: l’App potrebbe essere distribuita in futuro su altri store, ma non da terze parti, solo da PagoPA S.p.A. che ha l’incarico esclusivo per legge di sviluppare, pubblicare e gestire l’App, e condividere la roadmap con la Presidenza del Consiglio dei Ministri. stessa cosa vale per i contributi (preziosissimi) della community, che data la gioventù dell’App sono ancora disorganici, ma abbiamo in programma di implementare una serie di action per razionalizzare e incrementare l’engagement della community, che ci piacerebbe appunto condividere con la community per raccogliere feedback. infatti, al momento siamo già aperti ai contributi e li integriamo regolarmente, ma vorremmo fare di più - per questo servono delle policy e dei ruoli definiti

from io-app.

strk avatar strk commented on August 20, 2024

Quindi in sostanza l'uso delle API richiede un permesso dalla PA, ho capito bene ? Come si ottiene tale permesso ?

from io-app.

ema-pe avatar ema-pe commented on August 20, 2024

Ciao, ci sono novità?

from io-app.

scriptavolant avatar scriptavolant commented on August 20, 2024

Salve a tutti,

vorrei sapere se è previsto un aversione dell'app per KaIOS. Il sistema operativo va diffondendosi soprattutto tra le fasce di popolazione a rischio digital divide. Credo sarebbe una cosa utile averre il supporto per questo sistema operativo per permettere alle persone di accedere ai servizi della PA senza avere telefoni di costo troppo elevato.

from io-app.

ema-pe avatar ema-pe commented on August 20, 2024

Ciao @scriptavolant, meglio evitare di andare off-topic visto che qui si parla espressamente di F-Droid. Ho visto che KaiOS non è altro che il continuo di Firefox OS e mi pare che le applicazioni presenti siano basate sulle tecnologie Web, quindi presumo quanto ci sarà un'interfaccia Web a IO sarà più facile fare una versione per KaiOS. Inoltre non sono sicuro di quanto sia diffuso questo OS in Italia (ripeto in Italia, ho visto che è molto più diffuso in altri paesi come l'India).

from io-app.

d1nuc0m avatar d1nuc0m commented on August 20, 2024

Salve, a che punto è la versione web? Alcuni servizi (come la Carta Giovani Nazionale) sono erogati esclusivamente tramite IO e non credo sia giusto subordinarne la fruizione al possesso di un account Apple o Google.

Sottoscrivo, una versione web potrebbe essere una soluzione alternativa al problema dell'accesso senza essere legati a servizi proprietari (e come già evidenziato è prevista come possibilità dalle linee guida, par. 4.2. - Punto di accesso telematico).

Sarebbe anche un aiuto al problema del digital divide evidenziato da @scriptavolant : a quel punto il requisito minimo diventerebbe un browser, utilizzabile anche da un Internet Point.

Tag: @pietro909 @CaraDune

from io-app.

spazziale avatar spazziale commented on August 20, 2024

Ciao @Enrico204, l'app non ha alcun meccanismo di HMAC o certificate pinning per cui il mittente della richiesta venga discriminato. Una volta ottenuto il token di sessione attraverso la login SPID o CIE ogni richiesta HTTP, con header Authentication impostato con il token di sessione, è valida.

Piuttosto, lato nostro, dovremmo fare in modo di inoltrare la notifica verso altri providers che non siano solo Firebase e APNS (es Onesignal ?!). IO pone le sue fondamenta sugli avvisi (la PA verso il cittadino e non il vice versa), quindi è una caratteristica che dovrebbe essere assicurata quella delle push notifications

[Update] la mia risposta è puramente tecnica. Fare un app clone di IO e distribuirla, è possibile? Questo è un tema di diritti di prodotto, immagino. Non so dire se sia lecito oppure no (@CaraDune thoughts?)

Sicuramente si potrebbe incanalare lo sforzo tra comunity e PagoPa che ne garantisce l'autorità e la bontà dell'artefatto

Per le push notification esiste unifiedpush ( completamente opensource e self-hostable ) :
https://unifiedpush.org/
Il progetto è maturo al tal punto da essere usato sia da mastodon che matrix.

from io-app.

paolo-caroni avatar paolo-caroni commented on August 20, 2024

Un inizio (ma assolutamente non un punto di arrivo) potrebbe essere semplicemente rilasciare l'APK tramite le release di GitHub.

La dipendenza dalle API di Google rimane, ma queste possono essere rimpiazzate da MicroG dall'utente finale stesso (l'utente che usi MicroG, al momento, non ha proprio modo di scaricare l'applicazione).

Ovviamente questo sarebbe solo un punto di inizio per permettere l'utilizzo basilare dell'applicazione a chi non voglia o non possa interfacciarsi con Google nell'uso dell'applicazione. L'ideale, eticamente parlando, sarebbe la possibilità di evitare ogni tecnologia proprietaria se l'utente finale lo desidera, ma visti i potenziali tempi di sviluppo e l'importanza dell'applicazione, nel frattempo un compromesso del genere eviterebbe interminabili attese a chi volesse già da ora usare l'applicazione su dispositivi "degoogled".

Sono perfettamente d'accordo, rilasciare i pacchetti ufficiali su github sarebbe un buon inizio.

from io-app.

scollovati avatar scollovati commented on August 20, 2024

Vista la recente decisione di transitare, in un prossimo futuro, da SPID a CieID risulta necessario poter anche accedere al codice sorgente di quest'ultima app e valutare se può essere compilata per il rilascio su F-Droid o altri store alternativi.

L'unica discussione che ho trovato in merito è questa Codice sorgente app CieID - CIE - Forum Italia.

from io-app.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.