GithubHelp home page GithubHelp logo

bcgov / bc-vcpedia Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 13.0 1.79 MB

Verifiable credential governance documentation helps to clarify who the authority is and how each credential should be managed within an ecosystem. This repo is for BC Gov to add documentation about each verifiable credential it issues.

Home Page: https://bcgov.github.io/bc-vcpedia/

License: Creative Commons Zero v1.0 Universal

verifiable-credentials governance-models trust-over-ip governance digital-wallet emli

bc-vcpedia's Introduction

Lifecycle:Experimental

Introduction

Each verifiable credential issued by the BC Government requires governance documents. For guidance with writing governance documentation, use the tools available from Trust-Over-IP The purpose of this repository is to serve as a registry of groups within the BC Government who are "issuers" of verifiable credentials. Creating an entry in this repository will be a requirement for requesting a digital wallet from the BC Government Digital Trust Services.

Requirements

The Wiki contains detailed instructions on what to include and how to submit for review.

How to submit your governance documents

email to [email protected]

bc-vcpedia's People

Contributors

adit313 avatar ammar-9 avatar bblazicevic avatar callumhaslam avatar charlesmacpherson avatar cvarjao avatar elise-nppt avatar jsyro avatar krobinsonca avatar loneil avatar matthewhall78 avatar patstlouis avatar repo-mountie[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

bc-vcpedia's Issues

Alignment with the w3c-ccg traceability vocabulary

I'm currently assessing the best way to publish credential schemas from this repo on the traceability vocab repository.

There are 2 draft PR's on the traceability vocab repo to draft public schemas around the Mines Act Permit and the Petroleum and Natural Gas Title credentials. These were discussed today during the traceability call. Here are some outcomes:

The traceability group is encouraging BC to submit BC specific credentials and title them as so. Therefore the credential types should figure as so:
BCGovMinesActPermit, BCGovPetroleumAndNaturalGasTitle

The json-ld credentials are usually using CamelCase instead of snake_case to represent keys and values. I will investigate if this would create a technical compatibility issue.

There was one question raised which was to determine if these credentials are a digital representation of physical documents or they are a new numeric data representation. Could someone clarify this? @krobinsonca

I would also like an example of an issued credential with example data, to include into these schemas.

The goal of this step is to engage into discussions from both parties around the interoperability of these credentials.

Lets use common phrasing

TL;DR ๐ŸŽ๏ธ

Teams are encouraged to favour modern inclusive phrasing both in their communication as well as in any source checked into their repositories. You'll find a table at the end of this text with preferred phrasing to socialize with your team.

Words Matter

We're aligning our development community to favour inclusive phrasing for common technical expressions. There is a table below that outlines the phrases that are being retired along with the preferred alternatives.

During your team scrum, technical meetings, documentation, the code you write, etc. use the inclusive phrasing from the table below. That's it - it really is that easy.

For the curious mind, the Public Service Agency (PSA) has published a guide describing how Words Matter in our daily communication. Its an insightful read and a good reminder to be curious and open minded.

What about the master branch?

The word "master" is not inherently bad or non-inclusive. For example people get a masters degree; become a master of their craft; or master a skill. It's generally when the word "master" is used along side the word "slave" that it becomes non-inclusive.

Some teams choose to use the word main for the default branch of a repo as opposed to the more commonly used master branch. While it's not required or recommended, your team is empowered to do what works for them. If you do rename the master branch consider using main so that we have consistency among the repos within our organization.

Preferred Phrasing

Non-Inclusive Inclusive
Whitelist => Allowlist
Blacklist => Denylist
Master / Slave => Leader / Follower; Primary / Standby; etc
Grandfathered => Legacy status
Sanity check => Quick check; Confidence check; etc
Dummy value => Placeholder value; Sample value; etc

Pro Tip ๐Ÿค“

This list is not comprehensive. If you're aware of other outdated nomenclature please create an issue (PR preferred) with your suggestion.

Add project lifecycle badge

No Project Lifecycle Badge found in your readme!

Hello! I scanned your readme and could not find a project lifecycle badge. A project lifecycle badge will provide contributors to your project as well as other stakeholders (platform services, executive) insight into the lifecycle of your repository.

What is a Project Lifecycle Badge?

It is a simple image that neatly describes your project's stage in its lifecycle. More information can be found in the project lifecycle badges documentation.

What do I need to do?

I suggest you make a PR into your README.md and add a project lifecycle badge near the top where it is easy for your users to pick it up :). Once it is merged feel free to close this issue. I will not open up a new one :)

Adapt the governance document to support W3C VC technical requirements

The governance document should include a section in the Technical Requirements (Credential) portion designed for w3c credentials, parallel to the AnonCreds requirements. This idea was put forward by @Jsyro and I think its a great idea.

Elements that this portion should include are, but not limited to:

  • The did of the issuer (did:web, mock value for the short term until we have a did web endorser service). For the mock issuer did, we can host a temporary did.json file alongside this document.
  • A vocabulary section, outline terms as they appear in the credential. This is where we extend the DigitalConformityCredential from the UNTP by adding information relative to the Tenure Title.
  • A context URL, which will be hosted alongside this governance document

Create Digital Trust Toolkit web app

Description of feature / user story

We need to get the Digital Trust Toolkit stoodup so the Delivery team can start adding content.

Acceptance Criteria

  • Research Docusuarus and prep to build (https://docusaurus.io/)
  • Build and deploy on bc-vcpedia github
  • Take design from figma for landing page
  • Look at the confluence toolkit to build subpages (pages only, not content)
  • Move all bc-vcpedia under the resources section
  • Remove darkmode functionality
  • Rename repository to digital trust toolkit
  • Install the search plugin
  • Look into if we can allow people to subscribe to pages

Wireframes or relevant image assets / links

https://www.figma.com/proto/mfUqAvZIeOsgxPqWTTp0SU/BC-Wallet-app?node-id=1295-3477&viewport=402%2C-134%2C0.51&t=0OH4TNLw48eeGaBI-0&scaling=scale-down&content-scaling=fixed&starting-point-node-id=1295%3A3477&show-proto-sidebar=1
Logic flow diagram

https://ditp-bc.atlassian.net/wiki/spaces/DTT/overview

https://miro.com/app/board/uXjVKf-tZEo=/?share_link_id=271800239021

Add context files alongside governance documentation

We need to have context files available publicly. Since these context file's goal is primarily to link terms from the credential to a vocabulary definition, and the vocabulary is part of the governance file, it makes sense to have them available close by.

Convert Wiki pages to MD files

  • LEAVE (Layer 1) CANdy Acceptance Mechanism List (AML)
  • LEAVE (Layer 1) CANdy Transaction Author Agreement
  • LEAVE (Layer 1) CANdy Utility Provisional Governance Framework
  • Remove wiki page, md file already made - (Layer 2) BC Gov Agency Service Provisional Governance Framework
  • Remove wiki page, md file already made - BC GHG Emissions Verification Statement Report Credential - Added with a note referring to Code
  • Make md file in application folder - CAS BC Climate Action Secretariat Ecosystem Governance Framework (Primary Document)
  • Make md file in application folder - Consumption of Verification Statement Governance Document
  • Compare with existing openclimate application md file - OpenClimate Ecosystem Governance Framework (Primary Document)
  • Remove wiki page - Scope 1 GHG Emissions Credential Governance Framework
  • Remove wiki page - Scope 2 GHG Emissions Credential Governance Framework
  • Move to credential folder - TSM Protocol Credential Governance Framework (Primary Document) - Moved to Code but no link yet

Rename Ledgers directory to Registries

The Candy ledger is a registry, the same way OrgBook is a registry (so will be the did web endorser service). They just carry different purposes. The did web endorser service will play a very similar role as the Candy ledger. I propose to change ledgers to registries. I believe part of this is what is being addressed by the Structure-Update branch.

GH Pages: Update navigation titles

For the navbar at https://bcgov.github.io/bc-vcpedia/
each page needs a Title to custom display the navbar link. I added initial ones but they probably need a bit of refinement and thought. (would recommend keeping short for visual reasons)

Each markdown file has the slice of Jekyll Front Matter at the top, and the title field in there is what you would update for changes to the link
image

If a change to the top-level dropdown text is desired, look for the index.md in each folder
image

Just altering these titles will propagate to nav bars, tables of contents and tab titles so no other changes would be needed other than that field.

It's Been a While Since This Repository has Been Updated

This issue is a kind reminder that your repository has been inactive for 180 days. Some repositories are maintained in accordance with business requirements that infrequently change thus appearing inactive, and some repositories are inactive because they are unmaintained.

To help differentiate products that are unmaintained from products that do not require frequent maintenance, repomountie will open an issue whenever a repository has not been updated in 180 days.

  • If this product is being actively maintained, please close this issue.
  • If this repository isn't being actively maintained anymore, please archive this repository. Also, for bonus points, please add a dormant or retired life cycle badge.

Thank you for your help ensuring effective governance of our open-source ecosystem!

Update section on offboarding for BC Agent Tenant Service

RE: https://github.com/bcgov/bc-vcpedia/blob/main/agents/bc-gov-agent-service.md

Comments from @WadeBarnes:

"The ability and ease of exporting and deleting data from a tenant's account is going to be affected by the multi-tenant data storage options implemented by the agency. We've discussed before, but it might be worth a review.

The requirement for hard deleting a Tenant's data should be qualified. You might be able to remove the data from the agency, but you will not be able to remove any associated data written to the ledger. Tenants should be made aware of this upfront and they should be provided information regarding what data is written to the ledger. Also, in the case of off-boarding an issuer, has any thought gone into what should happen with the credentials they have issued. Are their any other organizations that need to be notified in the case the issued credentials should be invalidated or no longer trusted."

Re-word

(Layer 1) CANdy Utility Provisional Governance Framework has some unclear/conflicting wording

The Registered Entity section refers to:

The CANdy network has been primarily designed for use by enterprises, governments, non-profits, and other public-sector entities.

Yet the on-boarding requirements limits what kinds of entities can become a Member:

DID:INDY:CANdy DIDs can only be provided to Canadian government entities, Indigenous governing bodies, and any other legislated ("broader public sector") entity in Canada.

SUGGEST that the first quoted sentence (under Registered Entity) be updated so that Industry understands that it is in a read-only role for CANdy and can't be a "Registered Entity".

Definition for Governed Role Policies: Non-registered Ledger Reader is not a definition

Hi, I just noticed in the Governance framework that the definition "Governed Role Policies: Non-registered Ledger Reader" is not really a definition like the others:

"The CANdy Ledger is publicly available and can be queried and read by any....."

As you can see the others all start by the term to define and the verb to be:

The CANdy Governing Board, referred to as the 'Board' in this framework, is
A Board Member is
A Trustee is
Steward is an Indy role
An Endorser is
A Registered Entity is

Add a mock did document whilst we setup a DID web endorser service

We need to have a resolvable did web uri for our demonstration of technical interoperability. In order to do this, I would suggest to use this location. I would suggest to use:

did:web:bcgov.github.io:bc-vcpedia:credentials:bc-petroleum-and-natural-gas-title:mock-issuer

Open to alternate suggestions. This involves hosting a did.json at the location with valid public key.

Add missing topics

TL;DR

Topics greatly improve the discoverability of repos; please add the short code from the table below to the topics of your repo so that ministries can use GitHub's search to find out what repos belong to them and other visitors can find useful content (and reuse it!).

Why Topic

In short order we'll add our 800th repo. This large number clearly demonstrates the success of using GitHub and our Open Source initiative. This huge success means it's critical that we work to make our content as discoverable as possible. Through discoverability, we promote code reuse across a large decentralized organization like the Government of British Columbia as well as allow ministries to find the repos they own.

What to do

Below is a table of abbreviation a.k.a short codes for each ministry; they're the ones used in all @gov.bc.ca email addresses. Please add the short codes of the ministry or organization that "owns" this repo as a topic.

add a topic

That's it, you're done!!!

How to use

Once topics are added, you can use them in GitHub's search. For example, enter something like org:bcgov topic:citz to find all the repos that belong to Citizens' Services. You can refine this search by adding key words specific to a subject you're interested in. To learn more about searching through repos check out GitHub's doc on searching.

Pro Tip ๐Ÿค“

  • If your org is not in the list below, or the table contains errors, please create an issue here.

  • While you're doing this, add additional topics that would help someone searching for "something". These can be the language used javascript or R; something like opendata or data for data only repos; or any other key words that are useful.

  • Add a meaningful description to your repo. This is hugely valuable to people looking through our repositories.

  • If your application is live, add the production URL.

Ministry Short Codes

Short Code Organization Name
AEST Advanced Education, Skills & Training
AGRI Agriculture
ALC Agriculture Land Commission
AG Attorney General
MCF Children & Family Development
CITZ Citizens' Services
DBC Destination BC
EMBC Emergency Management BC
EAO Environmental Assessment Office
EDUC Education
EMPR Energy, Mines & Petroleum Resources
ENV Environment & Climate Change Strategy
FIN Finance
FLNR Forests, Lands, Natural Resource Operations & Rural Development
HLTH Health
IRR Indigenous Relations & Reconciliation
JEDC Jobs, Economic Development & Competitiveness
LBR Labour Policy & Legislation
LDB BC Liquor Distribution Branch
MMHA Mental Health & Addictions
MAH Municipal Affairs & Housing
BCPC Pension Corporation
PSA Public Service Agency
PSSG Public Safety and Solicitor General
SDPR Social Development & Poverty Reduction
TCA Tourism, Arts & Culture
TRAN Transportation & Infrastructure

NOTE See an error or omission? Please create an issue here to get it remedied.

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.