Skip to content

Commit

Permalink
Implement more features for the FreeID Registry
Browse files Browse the repository at this point in the history
  • Loading branch information
sondreb committed Oct 29, 2024
1 parent a46600d commit f9d3639
Show file tree
Hide file tree
Showing 3 changed files with 469 additions and 19 deletions.
308 changes: 293 additions & 15 deletions app/src/app/registries/registry/freeid/freeid.component.html
Original file line number Diff line number Diff line change
@@ -1,21 +1,299 @@
<img class="freeid-logo" src="/icons/freeid/freeid-logo.png" alt="FreeID logo" />

<h2>Unchain Your Identity in the New Free World</h2>
<mat-tab-group>
<mat-tab>
<ng-template mat-tab-label> <mat-icon class="example-tab-icon">privacy_tip</mat-icon>&nbsp; About </ng-template>
<div class="padding">
<mat-card>
<mat-card-content>
<h2>Unchain Your Identity in the New Free World</h2>

<p>
FreeID is a revolutionary, decentralized identity system designed for individuals who value freedom and autonomy
worldwide. Developed by the FreeID Foundation, established under the auspices of the World Voluntaryist Organization,
FreeID offers a global solution for those seeking sovereignty over their personal identity. Serving as a parallel
identity system within the New Free World, FreeID empowers individuals with a secure and cryptographically protected
means of asserting their autonomy.
</p>
<p>
FreeID is a revolutionary, decentralized identity system designed for individuals who value freedom and
autonomy worldwide. Developed by the FreeID Foundation, established under the auspices of the World
Voluntaryist Organization, FreeID offers a global solution for those seeking sovereignty over their personal
identity. Serving as a parallel identity system within the New Free World, FreeID empowers individuals with
a secure and cryptographically protected means of asserting their autonomy.
</p>

<p>
FreeID is issued by the FreeID Foundation, a non-profit organization dedicated to promoting individual sovereignty.
</p>
<p>
FreeID is issued by Verification Services approved by the World Voluntaryist Organisation, a non-profit
organization dedicated to promoting individual sovereignty.
</p>

<p class="wrap">Official Issuer DID: did:dht:mo7am9cz6qrjwoc4kapffeue9kjw6igdh9dmqd3ywdif6qa7ju4o</p>
<h3>Approved Verification Services</h3>

<p class="full-width-button">
<a class="full-size" mat-flat-button href="https://freeid.me" target="_blank">Apply for FreeID</a>
</p>
@for(service of services; track service) {
<div class="verification-service">
<div>
<strong>{{ service.name }}</strong>
</div>
<div class="wrap">Identifier: {{ service.did }}</div>
<div>{{ service.location }}</div>
<div>
<a [href]="service.website" target="_blank">{{ service.website }}</a>
</div>
</div>
}

<!-- <p class="full-width-button">
<a class="full-size" mat-flat-button href="https://freeid.me" target="_blank">Apply for FreeID</a>
</p> -->

<!-- <h1>The Voluntaryist Covenant</h1>
<strong>Introduction:</strong><br />
We, the Voluntaryists, voluntarily and solemnly establish this Covenant to declare our commitment to the
principles of Voluntaryism. We recognize that every individual is the sole owner of their life, person and
property, and that no one has the right to initiate force or coercion against another person. We believe that
freedom and voluntary cooperation are the keys to a just and prosperous society, and we pledge to live our
lives in accordance with these principles.
<br /><br />
<strong>Article 1: Self-Ownership</strong><br />
We believe that every individual is the sole and sovereign owner of their own body, mind, and labor, and has
the right to exercise full control over them. We reject any claim by others, including a self-proclaimed
governing body or state, to own or control the lives or bodies of individuals. We pledge to respect the
principle of Self-Ownership and to defend it against any aggression or violation.
<br /><br />
<strong>Article 2: Non-Aggression Principle</strong><br />
We believe in the Non-Aggression Principle, which asserts that it is immoral to initiate force, coercion,
theft or fraud against another person in order to achieve personal or collective goals. We also recognize the
right of every individual to defend their person, their property and liberty against any aggression or
violation. We pledge to refrain from any aggression in all our interactions and to defend ourselves
accordingly.
<br /><br />
<strong>Article 3: Property Rights</strong><br />
We recognize that every individual has the right to acquire property, use it, and dispose of it as they see
fit provided that they do not violate the Non-Aggression Principle. We pledge to respect the property rights
of others and to defend our property against any aggression or violation.
<br /><br />
<strong>Article 4: Freedom of Association</strong><br />
We believe that every individual has the right to associate or disassociate with others as they see fit, and
to engage in any peaceful and voluntary exchange of goods or services. We pledge to respect the freedom of
association and to refrain from any coercion or aggression against individuals or groups based on their
associations.
<br /><br />
<strong>Article 5: Personal Responsibility</strong><br />
We recognize the importance of personal responsibility and accountability for our own decisions and actions.
We acknowledge that any agreement we voluntary enter outline the rights and obligations of the parties
involved. We pledge to always honor our agreements and commitments and act in good faith to defend such rights
and meet such obligations.
<br /><br />
<strong>Article 6: Dispute Resolution</strong><br />
We believe in the peaceful resolution of disputes through voluntary means, such as negotiation, mediation, or
arbitration. We pledge to seek voluntary and peaceful resolution of any disputes that may arise between
individuals or groups, and to respect decisions reached through these means.
<br /><br />
<strong>Article 7: Education and Advocacy</strong><br />
We recognize the importance of Education and Advocacy in promoting the principles of Voluntaryism and
advancing a free and just society. We pledge to educate ourselves about these principles and to advocate for
their adoption in all areas of society.
<br /><br />
<strong>Conclusion:</strong><br />
We, the undersigned, hereby establish this covenant as a voluntary and solemn expression of our commitment to
the principles of voluntaryism. We pledge to uphold these principles in all our interactions with others, and
to work towards a society based on freedom, mutual cooperation, and respect for individual rights, including
the principle of self-ownership, and property.
<br /><br />
We recognize and acknowledge that this covenant is based on the natural rights of self-ownership,
non-aggression, and property rights. We further acknowledge that these rights are inherent to all individuals
and cannot be legitimately taken away by any human institution.
<br /><br />
We therefore hold this covenant to be the supreme law of our voluntaryist community, and we pledge to uphold
it above all other man-made laws. We recognize that this covenant supercedes all other legal codes, whether
they be national, international, or otherwise.
<br /><br />
In the event of any conflict between this covenant and any other man-made law, we shall abide by the
principles set forth in this covenant, and shall take all necessary steps to ensure that our actions are in
accordance with these principles.
<br /><br />
We believe that the principles of voluntaryism provide a solid foundation for a just and prosperous society,
and we are committed to promoting these principles in all areas of our lives. By signing this covenant, we
affirm our commitment to these principles, and to the creation of a New Free World based on freedom, mutual
cooperation, and respect for individual rights. -->
</mat-card-content>
</mat-card>

<!-- <p>
<a
mat-button
href="https://www.worldvoluntaryist.org/_files/ugd/bb77e9_0f5fee4328e745dc81189eb7088925c9.txt?dn=The%20Voluntaryist%20Covenant.txt"
>
<mat-icon>download</mat-icon> Download The Voluntaryist Covenant as text file.
</a>
</p>
<p>Hash (SHA-256) for verification:</p>
<p>856da8db8fec583255fa09cc19c64a93d44cba7a4d6c408282643fc581ae6c4b</p>
<p>
Also visit official website for verification:
<a href="https://www.worldvoluntaryist.org/voluntaryist-covenant" target="_blank"
>worldvoluntaryist.org/voluntaryist-covenant</a
>
</p> -->
</div>
</mat-tab>
<mat-tab>
<ng-template mat-tab-label>
<mat-icon class="example-tab-icon">safety_check</mat-icon>&nbsp; Apply for FreeID
</ng-template>

<div class="padding">
<h2>Apply for FreeID</h2>

<mat-card>
<mat-card-content>
<p>
Different Verification Services are available to issue FreeID. Please select a Verification Service from the
list in the About page.
</p>

<p>
Individual Verification Services might have different requirements and processes for issuing FreeID. Please
visit the website of the Verification Service you have selected for more information.
</p>

<p>The base requirements is same for all approved Verification Services.</p>
</mat-card-content>
</mat-card>

<h3>Base Requirements</h3>

<mat-card>
<mat-card-content>
<p>
<strong>Physical Presence:</strong> The applicant for FreeID must be physically present with the
Verification Service trusted verifier. It is not possible to perform verifiation online.
</p>

<p>
<strong>Sign:</strong> The Voluntaryist Covernant.
<a [routerLink]="['/app', 'voluntaryist-covenant']">Open the Mini App</a> to sign.
</p>

<p>
<strong>Name:</strong> Your name that you choose, it can be a pseudonym or a real name. It does not need to
be same as your birth name.
</p>

<p>
<strong>Birth date:</strong> Your birth date can be choosen from up to two months prior and two months after
your actual birth date. This is to obfuscate and disconnect your new identity from your old identity. You
must provide proof of birth.
</p>

<p>
<strong>Sex:</strong> You must provide your sex in the form of birth sex. This is for health and security
reasons.
</p>

<p>
<strong>Photograph:</strong> You must be photographed on the day of application. Photograph must be captured
by the Verification Service and follow the guidelines for good identification photograph.
</p>

<p><strong>Identifier:</strong> You must provide a decentralized identifier (DID) that you control.</p>
</mat-card-content>
</mat-card>

<!-- <h2>Check signing status</h2>
<mat-form-field subscriptSizing="dynamic" class="did-input">
<input matInput placeholder="DID..." [(ngModel)]="did" (keydown.enter)="lookup()" />
</mat-form-field>
<button class="chat-action" mat-icon-button (click)="lookup()">
<mat-icon>search</mat-icon>
</button> -->

@if (lookupSigned !== undefined) {
<p>
<mat-card>
<mat-card-header>
<mat-card-title>Signature Status</mat-card-title>
</mat-card-header>
<mat-card-content>
<p>
@if (lookupSigned) {
<mat-icon class="signature-icon" inline="true">verified_user</mat-icon>
} @else {
<mat-icon class="signature-icon" inline="true">gpp_bad</mat-icon>
}
</p>
<p>The identity with the following DID has @if (!lookupSigned) { not } signed the convenant:</p>
<p class="ellipsis">
{{ did }}
</p>
</mat-card-content>
</mat-card>
</p>
}
</div>
</mat-tab>
<!-- <mat-tab>
<ng-template mat-tab-label>
<mat-icon class="example-tab-icon">verified</mat-icon>&nbsp; Sign Covenant
</ng-template>
<div class="padding">
<mat-card>
<mat-card-header>
<mat-card-title>
@if (signed) { You have signed the Voluntaryist Covenant } @else { Sign the Voluntaryist Covenant }
</mat-card-title>
</mat-card-header>
<mat-card-content>
<p>
You hereby declare that you have read and understood The Voluntaryist Covenant and agree to abide by it. By
signing this covenant, you affirm your commitment to the principles of Voluntaryism.
</p>
<p>When you sign, you will issue a public Verifiable Credential that anyone that validate.</p>
</mat-card-content>
<mat-card-actions>
<button mat-flat-button (click)="sign()" [disabled]="loading || signed">
@if (signed) { Signed Covenant } @else { Sign the Covenant }</button
>&nbsp;
<button mat-button (click)="withdraw()" [disabled]="!signed">Withdraw the signature</button>
</mat-card-actions>
</mat-card>
</div>
</mat-tab> -->
<mat-tab>
<ng-template mat-tab-label> <mat-icon class="example-tab-icon">policy</mat-icon>&nbsp; Validate </ng-template>

<div class="padding">
<h2>Validate FreeID Credential</h2>

<mat-form-field subscriptSizing="dynamic" class="did-input">
<input matInput placeholder="FreeID Credential..." [(ngModel)]="did" (keydown.enter)="lookup()" />
</mat-form-field>
<button class="chat-action" mat-icon-button (click)="lookup()">
<mat-icon>fact_check</mat-icon>
</button>

@if (lookupSigned !== undefined) {
<p>
<mat-card>
<mat-card-header>
<mat-card-title>Signature Status</mat-card-title>
</mat-card-header>
<mat-card-content>
<p>
@if (lookupSigned) {
<mat-icon class="signature-icon" inline="true">verified_user</mat-icon>
} @else {
<mat-icon class="signature-icon" inline="true">gpp_bad</mat-icon>
}
</p>
<p>The FreeID credential with the following DID is @if (!lookupSigned) { not } valid:</p>
<p class="ellipsis">
{{ did }}
</p>
</mat-card-content>
</mat-card>
</p>
}
</div>
</mat-tab>
</mat-tab-group>
13 changes: 13 additions & 0 deletions app/src/app/registries/registry/freeid/freeid.component.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
.freeid-logo {
max-height: 64px;
margin: 1.4em 1em 1em 2em;
}

.verification-service {
margin-bottom: 1em;
}

.did-input {
width: calc(100% - 40px);
}

.signature-icon {
font-size: 4em;
}
Loading

0 comments on commit f9d3639

Please sign in to comment.