{
  "id": "uri_with_password",
  "kind": "datatype",
  "status": "draft",
  "name": "URI with embedded password",
  "doc": "URI whose user information part contains a password, as in scheme://user:password@host/. RFC 3986 deprecates this form, but database and message broker connection URIs still use it. The user name may be empty, as in Redis URIs.",
  "parent": "uri",
  "is_pii": true,
  "categories": [
    "secrets",
    "internet"
  ],
  "langs": [
    "common"
  ],
  "classification": "identifier",
  "regexp": "^[A-Za-z][A-Za-z0-9+.-]*://[^\\s:/?#@]*:[^\\s/?#@]+@[^\\s/?#]+(?:[/?#]\\S*)?$",
  "examples": [
    {
      "value": "postgresql://user:secret@localhost",
      "description": "Example connection URI from the PostgreSQL documentation",
      "valid": true
    },
    {
      "value": "postgresql://user@localhost",
      "description": "User name without a password",
      "valid": false
    }
  ],
  "links": [
    {
      "type": "doc",
      "url": "https://www.rfc-editor.org/rfc/rfc3986#section-3.2.1"
    },
    {
      "type": "doc",
      "url": "https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-URIS"
    }
  ],
  "detected_by": {
    "tools": [
      "detectsecrets",
      "semgrep",
      "trufflehog"
    ]
  },
  "quality": {
    "score": 78,
    "missing": [
      "second example",
      "mapping (Wikidata, Schema.org, ...)",
      "translation"
    ]
  },
  "source": {
    "path": "data/datatypes/any/secrets/uri_with_password.yaml",
    "url": "https://github.com/apicrafter/metacrafter-registry/blob/main/data/datatypes/any/secrets/uri_with_password.yaml",
    "edit_url": "https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/secrets/uri_with_password.yaml"
  },
  "urls": {
    "html": "http://registry.apicrafter.io/datatype/uri_with_password",
    "json": "http://registry.apicrafter.io/api/v1/datatypes/uri_with_password.json"
  }
}