THIS IS A READ-ONLY ARCHIVE OF THE SQRL PROJECT FORUM
SQRL client feature comparison | SQRL Forums

SQRL client feature comparison


DetlevSchm

Member
Mar 4, 2019
17
0
Used table headers (in forum order):
  • GRC = GRC's SQRL Client
  • iOS = Jeff Arthur's iOS Client
  • Android = Daniel Persson's Android Client
  • Linux = Bert Put's Native Client for Linux
  • WebExt = Jaap's Chrome & Firefox WebExtension
Synonyms:
  • password hint = QuickPass = ShortPass = Quick Unlock
  • no non-SQRL recovery = hardlocked = no SQRL bypass
Used abbreviations:
  • text = S4 block 2 as base56 (needs password and rescue code for import)
  • binary_81 = S4 block 2 as binary (needs password and rescue code for import)
  • binary_206 = S4 block 1 + 2 as binary (needs password for import)
  • QR code 81 = see binary_81 for content
  • QR code 206 = see binary_206 for content
(where 81 and 206 denote the respective file sizes, when no previous IUKs are present)

Not mentioned feature, common to all clients (trivial):
  • Use ID
Code:
|  |Feature                         | GRC | iOS |Android| Linux |WebExt
|--|--------------------------------|-----|-----|-------|-------|------
| 1|Show domain name at login       | yes | ??  |  yes  | no (1)|  no
| 2|Create identity                 | yes | ??  |  yes  | no (1)|  yes
| 3|Change password   (3)           | yes | ??  |  yes  | no    |  no
| 4|Recreate password (4)           | yes | ??  |  yes  | no    |  no
| 5|Rekey identity                  | yes | ??  |  yes  | no    |  no
| 6|Password hint                   | yes | ??  |  yes  | yes   |  no
| 7|Handle more than one ID         | yes | ??  |  yes  | no    |  no
| 8|  if yes, allow rename          | yes | ??  |  yes  | --    |  --
| 9|  if yes, allow delete          | no  | ??  |  yes  | --    |  --
|10|Export ID as text               | yes | ??  |  yes  | no (1)|  yes
|11|Export ID as binary_81          | yes | ??  |  yes  | no    |  no
|12|Export ID as binary_206         | yes | ??  |  yes  | no (1)|  no
|13|Export ID as QR code  81        | yes | ??  |  yes  | no    |  no
|14|Export ID as QR code 206        | yes | ??  |  yes  | no (1)|  no
|15|Import ID as text               | yes | ??  |  yes  | no    |  yes
|16|Import ID as binary_81          | yes | ??  |  yes  | no    |  no
|17|Import ID as binary_206         | yes | ??  |  yes  | no (1)|  no
|18|Import ID as QR code  81        | yes | ??  |  yes  | no    |  no
|19|Import ID as QR code 206        | yes | ??  |  yes  | no    |  no
|20|Req(2): Lock account            | yes | ??  |  yes  | no    |  no
|21|Req(2): Unlock account          | yes | ??  |  yes  | no    |  no
|22|Req(2): Remove account          | yes | ??  |  yes  | no    |  no
|23|Req(2): Alternate ID            | yes | ??  |  yes  | no    |  no
|24|Req(2): SQRL-only account       | yes | ??  |  yes  | no    |  no
|25|Req(2): No non-SQRL recovery    | yes | ??  |  yes  | no    |  no
|26|Req(2): Warn MITM attack        | yes | ??  |  yes  | no    |  no

  • (1) proved as doable with code change in client and/or libsqrl, or using Linux utilities
  • (2) request the named server feature
  • (3) requires old password for authentication against client
  • (4) requires rescue code for authentication against client, because the old password is not available anymore
NOTE: Features described in https://github.com/Novators/sqrl-spec, chapter "4.2. User Options" are partly present in the table,
depending on what clients have implemented, but not completely, as long as they are not officially specified, likely in https://www.grc.com/sqrl/client.htm, which is currently a to do list.

NOTE: Disambiguation: "Alternate ID" is a server feature, where a user's site-specific SQRL ID can have more than one account with the server. All other "ID" or "identity" mentitioned refer to the user's client-side, global (site-independent) identity, represented by their Identity Master Key.

Updates: See posts below.
 
Last edited by a moderator:
Might you want to include if you can import and export via file vs. QR code?
Of course, and I also forgot the password hint :rolleyes:.

So, @Dave, what does the Windows client say about:

|13|password hint
|14|export id as QR code 81
|15|export id as QR code 206
|16|import id as QR code 81
|17|import id as QR code 206
 
This is a tablethat I createdusing the iconson the siteat the top of theedit area.You willsee there
is a box with across throughthe middlevery closeto theend ofthe set oficons
right before theundo andredo iconswhich arefollowed bythe floppy disksaveicon.
You usethe tabbuttonto moveacrossthetableboxes.
 
Client Name
Feature Complete?
Multiple Ident
Delete Ident
Type of import
GRC​
Y​
Y​
N​
Text, manual binary file copy​

I created this example ^ in Libre Office's Calc. I selected a range the copied it and pasted it here. That seems like the better way to manage tabular data.
 
VERY NICE WORK! VERY VALUABLE. If you could switch to our table system as Paul suggests that you be terrific, and it would allow you to edit in place as things change. :)
 
If you could switch to our table system
When I tried that out, I was not satisfied with it, because the table columns had a fixed with and could not be resized. So the data in the 1st number column looked forlorn, and the wider text in column #2 got wrapped once or twice. That made the whole table look disagreeable.

Now I see that @PHolder's example table has varying column widths. How did you do that? (I tried with the mouse and Ctrl, Alt, Shift, combinations ...)
 
I'd advise you to start in a spreadsheet TBH. But I never manually managed any column size. It seems some code in the site manages that based on content inside the row/column... It seems like the default behaviour is have the overall width of the table match the size's width... in my case my screen is 1920 wide and there is maybe 350 on either side as some buffer... so the post width is about 1200 pixels or so... and the table matches that.

I do wonder if there are options in the BB Code (the stuff you can use in square brackets to make effects in the posts.) I did some googling, and didn't see anything current. Perhaps @Steve has access to something on their site that would provide more docs/examples.
 
Okay, so it you toggle the BB code on (press the gear icon) you will see something like this (copied from my post above):
Code:
[TABLE]
[TR]
[TD][CENTER][B]Client Name[/B][/CENTER][/TD]

[TD][CENTER][B]Feature Complete?[/B][/CENTER][/TD]

[TD][CENTER][B]Multiple Ident[/B][/CENTER][/TD]

[TD][CENTER][B]Delete Ident[/B][/CENTER][/TD]

[TD][CENTER][B]Type of import[/B][/CENTER][/TD]
[/TR]
[TR]
[TD][CENTER]GRC[/CENTER][/TD]

[TD][CENTER]Y[/CENTER][/TD]

[TD][CENTER]Y[/CENTER][/TD]

[TD][CENTER]N[/CENTER][/TD]

[TD][CENTER]Text, manual binary file copy[/CENTER][/TD]
[/TR]
[/TABLE]

So now if we knew what options you could put on the table rows TR and table data TD entries to control sizes and centering, etc.
 
Cool trick :).

Anyway, this "table" was just meant to be a quick overview.

Once SQRL is released and the clients are stable, then this should rather go into a Wikipedia article.

If anyone needs the table (once it is complete), I could attach a source file to the post, but I do not see the demand at the moment ;).
 
SQRL is inherently minimal. Nothing about the behavior of a SQRL client is optional. For example, a SQRL client that did not support Alt-IDs would be completely unusable for uses who have employed Alt-IDs elsewhere. The same goes for rekeying, disabling, removing, changing unlock password, etc. So my feeling is that this table is VERY interesting now... but will become "boring" once everything is "yes"! :)
 
  • Like
Reactions: Fabrice Neuman
I believe I know now why you are all so upset (;)) with the image. You assumedly all use the forum's "light" theme, so a largely black image stands out excessively (and probably also the font size).

So I replaced the image with a code block.

This takes even less effort for maintenance (cut&paste from my internal documentation instead of making a screenshot and cutting it to size).
 
Alt-IDs elsewhere. The same goes for rekeying, disabling, removing, changing unlock password, etc.
Wow, do we need more rows?

I was using the Android client as a reference, which looked to me largely feature complete.
 
  • client_a = GRC's SQRL Client
  • client_b = Jeff Arthur's iOS Client
  • client_c = Daniel Persson's Android Client
  • client_d = Bert Put's Native Client for Linux
  • client_e = Jaap's Chrome & Firefox WebExtension
Could I suggest changing the column headings so that we don't need to keep looking them up?

GRC / iOS / Android / Linux / Web

Since, at the moment, we only have one of each, there's no confusion.

(And NICE going with the change to CODE format!)
 
And I'll reiterate that this is a wonderful resource. I have just "pinned" this thread to the top of the SQRL User Discussions" forum so that it will always be there.

Also, (whatever your name is), as is our custom here, as the thread's owner, you should feel completely free to delete any postings (like this one) that you have seen and considered and which no longer provide any useful content. Keeping this (your) thread clean and on-target makes this more useful to everyone. So once you have considered any feedback, you're welcome to remove it. No one will take offense.
 
Of course, and I also forgot the password hint :rolleyes:.

So, @Dave, what does the Windows client say about:

|13|password hint
|14|export id as QR code 81
|15|export id as QR code 206
|16|import id as QR code 81
|17|import id as QR code 206
Those are all Yes.
 
as the thread's owner, you should feel completely free to delete any postings (like this one) that you have seen and considered and which no longer provide any useful content.
Shock ... but I understand the necessity for keeping a sticky concise.

However, I see no Delete buttons on any posts of this thread except my own.

Were you pulling my leg :) ?
 
pulling my leg
Well, the Admin (aka @Steve has that option of course.) Moderators do as well. I don't know that the author of any given thread has that option, in general, because that could lead to weird censorship. (Where someone starts a thread but won't let any discussion happen that they don't approve.)