|Subject:||Re: [Taler] Exchange Terms of Service|
|Date:||Fri, 6 Jan 2023 17:56:17 +0100|
|User-agent:||Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0|
When configuring my exchange, I found that the Android Wallet app has certain requirements regarding the terms of service that I have not found in the documentation:
- It requests the .txt file (which has text/plain MIME type, not text/markdown), even though it expects it to be formatted as valid markdown. If a .md file exists in the TERMS_DIR, it is ignored.
- Not only needs the file be formatted as valid markdown: It also must have at least one top-level-heading. Otherwise, an unhelpful error message is thrown: "ToS does not follow the correct format".
Is there a specific rationale why it requests the wrong MIME type, when RFC7763 exists?
Also, collapsing the headings makes the ToS harder to read in cases where the exchange operator actually tries to keep them short. Maybe a better collapsing heuristic could help here, such as:
- Collapse all sections only when the total ToS length exceeds 3-4 screenful of text.
- Always expand the first section and collapse the rest.
Additionally, I would like to discuss how to deal with section-less documents:
- Allow them by treating them as one large never-collapsed section.
- Continue to disallow them, but then adapt the documentation accordingly and improve the error message to actually tell what the problem is. In this case, probably the exchange itself should emit an error when starting and most probably, fail to start until it is fixed. (Fail early, fail fast.)
My preferred solution would probably be a hybrid of "never collapse the first section" and "don't collapse anything if the document is only 3-4 screenful", plus clearly stating in documentation that ToS needs sections, failing the exchange startup if violated.
What do you think?
Ah, seems like there's a design document actually stating the ToS requirements. This info lacks visibility and should be part of the exchange operator manual .
|[Prev in Thread]||Current Thread||[Next in Thread]|