protect-my-env

Miradi inayofuata mazoea bora hapa chini inaweza kujihakikisha kwa hiari na kuonyesha kuwa wamepata nishani ya mazoea bora ya Open Source Security Foundation (OpenSSF).

Hakuna seti ya mazoea yawezayo kuhakikisha kuwa programu haitakuwa na kasoro au udhaifu; hata mbinu rasmi zinaweza kushindwa ikiwa vipimo au dhana ni sahihi. Wala hakuna seti ya mazoea yawezayo kuhakikisha kuwa mradi utaendelea kuwa na jamii ya maendeleo yenye afya na inayofanya kazi vizuri. Hata hivyo, kufuata mazoea bora kunaweza kusaidia kuboresha matokeo ya miradi. Kwa mfano, baadhi ya mazoea huwezesha ukaguzi wa watu wengi kabla ya kutolewa, ambayo inaweza kusaidia kupata udhaifu wa kiufundi ambao vinginevyo ni vigumu kupata na kusaidia kujenga uaminifu na hamu ya mwingiliano wa kurudia kati ya wasanidi programu kutoka makampuni tofauti. Ili kupata nishani, vigezo vyote vya LAZIMA na LAZIMA WALA USIWAHI lazima vifuatwe, vigezo vyote vya INAPASWA lazima vifuatwe AU visivyo fufufutiliana na thibitisho, na vigezo vyote vya PENDEKEZA lazima vifuatwe AU visivyo fufufutiliana (tunataka vifikiwe angalau). Ikiwa unataka kuingiza maandishi ya thibitisho kama maoni ya jumla, badala ya kuwa maelezo ya busara kwamba hali ni inakubaliwa, anza kifungu cha maandishi na '//' ikifuatiwa na nafasi. Maoni ni karibu kupitia tovuti ya GitHub kama masuala au maombi ya kuvuta Kuna pia orodha ya barua pepe kwa majadiliano ya jumla.

Tunafuraha kutoa habari katika lugha nyingi, hata hivyo, ikiwa kuna mgongano au kutokuwa na usawa kati ya tafsiri, toleo la Kiingereza ni toleo lenye mamlaka.
Ikiwa huu ni mradi wako, tafadhali onyesha hali ya nishani yako ya msingi kwenye ukurasa wa mradi wako! Hali ya nishani ya msingi inaonekana kama hii: Kiwango cha nishani ya msingi kwa mradi 12989 ni in_progress Huu ndiyo jinsi ya kuweka nishani ya msingi:
Unaweza kuonyesha hali ya nishani yako ya msingi kwa kuweka hii katika faili yako ya markdown:
[![OpenSSF Baseline](https://www.bestpractices.dev/projects/12989/baseline)](https://www.bestpractices.dev/projects/12989)
au kwa kuweka hii katika HTML yako:
<a href="https://www.bestpractices.dev/projects/12989"><img src="https://www.bestpractices.dev/projects/12989/baseline"></a>


Hizi ni vigezo vya Kiwango cha Msingi 3. Hizi ni vigezo vya toleo v2026.02.19.

Baseline Series: Kiwango cha Msingi 1 Kiwango cha Msingi 2 Kiwango cha Msingi 3

        

 Misingi

  • Jumla

    Kumbuka kwamba miradi mingine inaweza kutumia jina sawa.

    Protect My Env

    <p align="center"> <img src="https://raw.githubusercontent.com/marcuspmd/protect-my-env/master/icon.png" alt="Protect My Env Icon" width="128" /> </p> <p align="center"> <strong>Keep your .env secrets hidden on screen — without compromising your workflow.</strong> </p> <p align="center"> <a href="https://marketplace.visualstudio.com/items?itemName=marcusp.protect-my-env"> <img src="https://img.shields.io/visual-studio-marketplace/v/marcusp.protect-my-env?label=VS%20Code%20Marketplace&color=blue" alt="Marketplace Version" /> </a> <a href="https://marketplace.visualstudio.com/items?itemName=marcusp.protect-my-env"> <img src="https://img.shields.io/visual-studio-marketplace/d/marcusp.protect-my-env?color=green" alt="Downloads" /> </a> <a href="./LICENSE"> <img src="https://img.shields.io/badge/license-MIT-brightgreen" alt="MIT License" /> </a> </p> <p align="center"> <a href="https://github.com/marcuspmd/protect-my-env/actions/workflows/ci.yml"> <img src="https://github.com/marcuspmd/protect-my-env/actions/workflows/ci.yml/badge.svg" alt="CI" /> </a> <a href="https://github.com/marcuspmd/protect-my-env/actions/workflows/codeql.yml"> <img src="https://github.com/marcuspmd/protect-my-env/actions/workflows/codeql.yml/badge.svg" alt="CodeQL" /> </a> <a href="https://scorecard.dev/viewer/?uri=github.com/marcuspmd/protect-my-env"> <img src="https://api.securityscorecards.dev/projects/github.com/marcuspmd/protect-my-env/badge" alt="OpenSSF Scorecard" /> </a> <a href="https://codecov.io/gh/marcuspmd/protect-my-env"> <img src="https://codecov.io/gh/marcuspmd/protect-my-env/graph/badge.svg" alt="Coverage" /> </a> </p>

    Protect My Env Banner


    🔐 Privacy & Security

    Your secrets never leave your machine.

    • Zero data collection — no environment variables, keys, or values are ever recorded, stored, or transmitted anywhere.
    • No remote calls — the extension works entirely offline, with no telemetry, no analytics, and no external servers.
    • Total privacy — everything happens locally inside your VS Code editor.

    ⚠️ Disclaimer: This extension does not protect your .env files from AI agents (such as GitHub Copilot, Cursor, or similar tools) that have direct access to your workspace files. We do not encrypt or obfuscate file contents on disk — the data remains readable by any process with file system access. Protect My Env is designed solely to prevent accidental exposure during screen sharing, recordings, live coding sessions, and pair programming. It is not a security tool for AI context isolation.


    Why Protect My Env?

    Every time you open a .env file in VS Code, your secrets are visible in plain text — in editor tabs, during screen shares, in recordings, and in pair-programming sessions. Protect My Env solves this by rendering secrets as masked characters from the very first frame, with zero workflow disruption.


    Features

    Feature Description
    🔒 Secure Editor .env files open masked by default — no plaintext flash
    👁️ Per-key Reveal Reveal or hide individual values with a single click via CodeLens
    🌐 Reveal All / Hide All Toolbar buttons to toggle all values at once
    🔍 Search & Sort Filter by key or comment; sort by key column without touching file order
    🎭 Two Masking Modes all masks every key; pattern masks only keys matching glob patterns
    💬 Comment Protection Optionally mask full-line and inline comments too
    ✏️ Inline Editing Edit values directly in the secure view
    📝 Open as Text Fall back to the standard VS Code editor any time

    Preview

    Protect My Env in action


    Installation

    From the Marketplace

    1. Open VS Code.
    2. Press Ctrl+Shift+X (or Cmd+Shift+X on macOS) to open the Extensions panel.
    3. Search for Protect My Env.
    4. Click Install.

    From VSIX (manual)

    npm install -g @vscode/vsce
    vsce package
    

    Then in VS Code: Extensions → ··· → Install from VSIX… and select the generated .vsix file.


    Quick Start

    1. Open any .env, .env.local, .env.production, or similar file.
    2. The file opens automatically in Secure .env Mode — values are masked from the first render.
    3. Use the CodeLens actions above each key:
      • Reveal KEY — temporarily show the value
      • Hide KEY — mask it again
    4. Use the toolbar buttons to control all values at once:
      • Reveal All Values (👁)
      • Hide All Values (👁‍🗨)

    Secure .env Mode

    The custom editor opens .env files in a table view where secrets are masked before any rendering occurs — eliminating the "decoration flash" you get with text-editor overlays.

    • Search filters keys and comments in real time.
    • Click the Key column header to sort the view without altering the file.
    • Full-line comments appear as comment rows; inline comments show in a separate column.
    • Row action icons let you reveal, edit, add, or delete values (hover for tooltips).
    • Click Open as text at any time to switch to the regular VS Code editor.

    Configuration

    Add any of the following to your settings.json:

    {
      "protectMyEnv.obfuscationMode": "all",
      "protectMyEnv.patterns": [
        "*_SECRET",
        "*_KEY",
        "*_PASSWORD",
        "*_TOKEN",
        "PASSWORD",
        "SECRET",
        "TOKEN",
        "KEY"
      ],
      "protectMyEnv.rules": [],
      "protectMyEnv.maskCharacter": "",
      "protectMyEnv.maskLength": 8,
      "protectMyEnv.protectComments": false
    }
    

    Setting Reference

    Setting Type Default Description
    obfuscationMode string "all" "all" masks every key; "pattern" masks only keys matching patterns
    patterns string[] see above Glob patterns applied in pattern mode (case-insensitive)
    rules string[] [] Exact key names that are always masked regardless of mode
    maskCharacter string "•" Character used to render masked values
    maskLength number 8 Fixed mask length; set to 0 to match the original value length
    protectComments boolean false When true, masks full-line and inline comments

    Development

    Prerequisites

    • Node.js ≥ 18
    • VS Code ≥ 1.75

    Setup

    git clone https://github.com/marcuspmd/protect-my-env.git
    cd protect-my-env
    npm install
    npm run compile
    

    Press F5 to launch the Extension Development Host.

    Testing

    npm test                  # Run all unit tests
    npm run test:watch        # Watch mode
    npm run test:coverage     # With coverage report
    

    Contributing

    Contributions are welcome! Please read CONTRIBUTING.md before opening a pull request.


    License

    MIT © Marcus Paulo M Dias

    Publishing

    npm run vscode:prepublish
    

    Scripts

    • npm run compile
    • npm run esbuild-base
    • npm run esbuild
    • npm run watch
    • npm run vscode:prepublish
    • npm test
    • npm run test:watch
    • npm run test:coverage
    Tafadhali tumia muundo wa maneno ya leseni ya SPDX; mifano ni pamoja na "Apache-2.0", "BSD-2-Clause", "BSD-3-Clause", "GPL-2.0+", "LGPL-3.0+", "MIT", na "(BSD-2-Clause OR Ruby)". Usitumie alama za nukuu za moja au mbili.
    Ikiwa kuna lugha zaidi ya moja, ziorodhe kama thamani zilizotengwa kwa koma (nafasi ni za hiari) na ziorodhe kuanzia iliyotumiwa zaidi hadi iliyotumiwa kidogo. Ikiwa kuna orodha ndefu, tafadhali orodhesha angalau tatu za kawaida zaidi. Ikiwa hakuna lugha (k.m., huu ni mradi wa nyaraka tu au wa majaribio tu), tumia herufi moja "-". Tafadhali tumia herufi kubwa za kawaida kwa kila lugha, k.m., "JavaScript".
    Common Platform Enumeration (CPE) ni mpango wa kuweka majina yenye muundo kwa mifumo ya teknolojia ya habari, programu, na vifurushi. Inatumika katika mifumo na hifadhidata nyingi wakati wa kuripoti udhaifu.

 Udhibiti 0/21

  • Udhibiti


    Ruhusa zinapopeana kwa kazi katika mfumo wa CI/CD, msimbo wa chanzo au usanidi LAZIMA upee tu ruhusa za chini zaidi zinazohitajika kwa shughuli zinazohusiana. [OSPS-AC-04.02]
    Sanidi mifumo ya CI/CD ya mradi ili kupea ruhusa za chini zinazopatikana kwa watumiaji na huduma kwa chaguomsingi, ukipandisha ruhusa tu inapohitajika kwa kazi maalum. Katika baadhi ya mifumo ya udhibiti wa toleo, hii inaweza kufanyika katika kiwango cha shirika au hifadhi. Ikiwa sivyo, weka ruhusa katika kiwango cha juu cha mfumo.


    Mifuko ya CI/CD inayokubali pembejeo za mshirika anayeaminika LAZIMA isafishe na kuthibitisha pembejeo hiyo kabla ya kutumia katika mfuko. [OSPS-BR-01.04]
    Mifuko ya CI/CD inapaswa kusafisha (kunukuu, kutoroka au kutoka kwa maadili yanayotarajiwa) pembejeo zote za mshirika kwenye utekelezaji wa mtiririko wa kazi wa wazi. Ingawa washirika kwa ujumla wanaaminika, pembejeo za mwongozo kwa mtiririko wa kazi haiwezi kukaguliwa na inaweza kutumiwa vibaya na utekaji wa akaunti au tishio la ndani.


    Toleo rasmi linapobuniwa, mali zote ndani ya toleo hilo LAZIMA zihusianishwe wazi na kitambulisho cha toleo au kitambulisho kingine cha kipekee kwa mali hiyo. [OSPS-BR-02.02]
    Panga kitambulisho cha kipekee cha toleo kwa kila mali ya programu inayozalishwa na mradi, ukifuata kawaida ya uainishaji thabiti au mpango wa nambari. Mifano ni pamoja na SemVer, CalVer, au kitambulisho cha git commit.


    Mradi LAZIMA ufafanue sera ya kudhibiti siri na ushahidi unaotumika na mradi. Sera inapaswa kujumuisha mwongozo wa kuhifadhi, kufikia, na kuzungusha siri na ushahidi. [OSPS-BR-07.02]
    Eleza jinsi siri na ushahidi vinavyodhibitiwa na kutumika ndani ya mradi. Hii inapaswa kujumuisha maelezo ya jinsi siri zinavyohifadhiwa (k.m., kwa kutumia zana ya usimamizi wa siri), jinsi ufikiaji unavyodhibitiwa, na jinsi siri zinavyozungushwa au kusasishwa. Hakikisha kwamba habari nyeti haziingizwi kwa msimbo katika msimbo wa chanzo au kuhifadhiwa katika mifumo ya udhibiti wa toleo.


    Mradi ulipotoa toleo, nyaraka za mradi LAZIMA ziwe na maelekezo ya kuthibitisha uadilifu na uhalali wa mali za toleo. [OSPS-DO-03.01]
    Maelekezo katika mradi yanapaswa kuwa na habari kuhusu teknolojia iliyotumika, amri za kuendesha, na matokeo yanayotarajiwa. Inapowezekana, epuka kuhifadhi nyaraka hizi katika mahali pamoja na mfumo wa ujenzi na utoaji wa toleo ili kuepuka ukiukaji mmoja kuhatarisha programu na nyaraka za kuthibitisha uadilifu wa programu.


    Mradi unapotoa toleo, nyaraka za mradi LAZIMA ziwe na maelekezo ya kuthibitisha utambulisho unaotarajiwa wa mtu au mchakato unaothibitisha toleo la programu. [OSPS-DO-03.02]
    Utambulisho unaotarajiwa unaweza kuwa katika muundo wa vitambulisho vya funguo vilivyotumika kusaini, mtoa na utambulisho kutoka cheti cha sigstore, au aina nyingine zinazofanana. Inapowezekana, epuka kuhifadhi nyaraka hii mahali palipo sawa na mirija ya kujenga na kutoa ili kuepuka ukiukaji mmoja kuhatarisha programu na nyaraka za kuthibitisha uadilifu wa programu.


    Mradi unapotoa toleo, nyaraka za mradi LAZIMA zijumuishe kauli ya maelezo kuhusu wigo na muda wa msaada kwa kila toleo. [OSPS-DO-04.01]
    Ili kuwasilisha wigo na muda wa msaada kwa rasilimali za programu zilizotolewa za mradi, mradi unapaswa kuwa na faili ya SUPPORT.md, sehemu ya "Msaada" katika SECURITY.md, au nyaraka nyingine zinazoweka wazi mzunguko wa maisha wa msaada, ikijumuisha muda unaotarajiwa wa msaada kwa kila toleo, aina za msaada zinazotolewa (k.m., marekebisho ya hitilafu, sasisho za usalama), na sera au taratibu yoyote husika ya kupata msaada.


    Mradi unapotoa toleo, nyaraka za mradi LAZIMA zitoe kauli ya maelezo ya wakati matoleo au matoleo hayatapokea tena sasisho za usalama. [OSPS-DO-05.01]
    Ili kuwasilisha wigo na muda wa msaada kwa marekebisho ya usalama, mradi unapaswa kuwa na SUPPORT.md au nyaraka nyingine zinazoweka wazi sera ya mradi ya sasisho za usalama.


    Inapokuwa hai, nyaraka za mradi LAZIMA ziwe na sera kwamba washirikiano wa msimbo wanapimwa kabla ya kupewa ruhusa zilizopandishwa kwa rasilimali nyeti. [OSPS-GV-04.01]
    Chapisha sera inayoweza kutekelezwa katika nyaraka za mradi inayohitaji washirikiano wa msimbo kupimwa na kuidhinishwa kabla ya kupewa ruhusa zilizopandishwa kwa rasilimali nyeti, kama vile idhini ya kuunganisha au ufikiaji kwa siri. Inashauriwa kwamba upimaji ujumuishe kuanzisha mfululizo wa utambulisho unaoweza kuhalalishwa kama vile kuthibitisha ushirikiano wa mchangiaji na shirika linalojulikana na kuaminika.


    Mradi unapotoa toleo, rasilimali zote za programu zilizotolewa na zilizokusanywa LAZIMA zikabidhi pamoja na orodha ya bili ya programu. [OSPS-QA-02.02]
    Inashauriwa kuzalisha SBOM kiotomatiki wakati wa kujenga kwa kutumia zana ambayo imepimwa kwa usahihi. Hii huwezesha watumiaji kuingiza data hii kwa njia ya kiwango pamoja na miradi mingine katika mazingira yao.


    Mradi unapotoa toleo linalojumuisha hifadhi nyingi za chanzo cha msimbo, miradi yote midogo LAZIMA ilazimishe mahitaji ya usalama ambayo ni kali au kali zaidi kuliko msimbo wa msingi. [OSPS-QA-04.02]
    Hifadhi yoyote ya ziada ya msimbo wa miradi midogo iliyozalishwa na mradi na kukusanywa katika toleo lazima ilazimishe mahitaji ya usalama kama inavyolingana na hali na nia ya msimbo husika. Kwa kuongeza kufuata mahitaji ya msingi wa OSPS yanayolingana, hii inaweza kujumuisha kuhitaji ukaguzi wa usalama, kuhakikisha kuwa haina udhaifu, na kuhakikisha kuwa haina masuala ya usalama yanayojulikana.


    Inapokuwa hai, nyaraka za mradi LAZIMA ziweke wazi lini na jinsi majaribio yanavyotekelezwa. [OSPS-QA-06.02]
    Ongeza sehemu kwenye nyaraka za kuchangia inayoweka wazi jinsi ya kutekeleza majaribio kienyeji na jinsi ya kutekeleza majaribio katika mirija ya CI/CD. Nyaraka zinapaswa kuweka wazi majaribio yanajaribu nini na jinsi ya kutafsiri matokeo.


    Inapokuwa hai, nyaraka za mradi LAZIMA zijumuishe sera kwamba mabadiliko yote makubwa kwa programu inayozalishwa na mradi yanapaswa kuongeza au kusasisha majaribio ya utendaji katika seti ya majaribio ya kiatomati. [OSPS-QA-06.03]
    Ongeza sehemu kwenye nyaraka za kuchangia inayoweka wazi sera ya kuongeza au kusasisha majaribio. Sera inapaswa kuweka wazi ni nini kinachojumuisha mabadiliko makubwa na majaribio yapi yanapaswa kuongezwa au kusasishwa.


    Wakati kuruhusu kumefanywa kwa tawi kuu, mfumo wa udhibiti wa toleo la mradi LAZIMA uhitaji angalau idhini moja ya binadamu asiye mwandishi ya mabadiliko kabla ya kuunganisha. [OSPS-QA-07.01]
    Sanidi mfumo wa udhibiti wa toleo la mradi kuhitaji angalau idhini moja ya binadamu asiye mwandishi ya mabadiliko kabla ya kuunganisha katika toleo au tawi kuu. Hii inaweza kupatikana kwa kuhitaji ombi la kuvuta kupimwa na kuidhinishwa na angalau mshirikiano mmoja mwingine kabla ya kunaweza kuunganishwa.


    Mradi unapotoa toleo, mradi LAZIMA ufanye ufuatiliaji wa tisho na uchambuzi wa uso wa shambulio ili kuelewa na kulinda dhidi ya mashambulizi kwenye njia za msimbo muhimu, majukumu, na mwingiliano ndani ya mfumo. [OSPS-SA-03.02]
    Ufuatiliaji wa tisho ni shughuli ambapo mradi unaangalia msimbo, michakato na miundombinu inayohusiana, viunganishi, vipengele muhimu na "kufikiria kama kibogoyo" na kufanya mapendekezo ya jinsi mfumo unaweza kuvunjwa au kuhatarisha. Kila tisho iliyotambuliwa imeorodheshwa ili mradi uweze kufikiria jinsi ya kuepuka au kufunga pengo/udhaifu wowote unaoweza kutokea kwa kujihadhari. Hakikisha hii imesasishwa kwa vipengele vipya au mabadiliko ya kuvunja.


    Wakati uko hai, udhaifu wowote katika vipengele vya programu visivyoathiri mradi LAZIMA viwe vimeainishwa katika hati ya VEX, ikiendeleza ripoti ya udhaifu na maelezo ya kutokutumiwa vibaya. [OSPS-VM-04.02]
    Weka mfumo wa mlisho wa VEX unaowasiliana hali ya utumiaji vibaya wa udhaifu unaojulikana, ikiwa ni pamoja na maelezo ya tathmini au marekebisho yoyote yaliyowekwa kusimamisha msimbo ulio na udhaifu usiotekelezwa.


    Wakati uko hai, nyaraka za mradi LAZIMA zijumuishe sera inayofafanua kiwango cha marekebisho ya matokeo ya SCA yanayohusiana na udhaifu na leseni. [OSPS-VM-05.01]
    Andika sera katika mradi inayofafanua kiwango cha marekebisho ya matokeo ya SCA yanayohusiana na udhaifu na leseni. Jumuisha mchakato wa kutambua, kutanguliza, na kurekebisha matokeo haya.


    Wakati uko hai, nyaraka za mradi LAZIMA zijumuishe sera ya kushughulikia ukiukaji wa SCA kabla ya toleo lolote. [OSPS-VM-05.02]
    Andika sera katika mradi wa kushughulikia matokeo ya Uchambuzi wa Muundo wa Programu yanayotumika kabla ya toleo lolote, na ongeza ukaguzi wa hali unaothibitisha kufuata sera hiyo kabla ya toleo.


    Wakati uko hai, mabadiliko yote kwenye msingi wa msimbo wa mradi LAZIMA yaangaliwe kiatomati dhidi ya sera iliyoandikwa ya utegemezi mbaya na udhaifu unaojulikana katika utegemezi, kisha yazuiliwe katika hali ya ukiukaji, isipokuwa inapotangazwa na kuzuiliwa kama isiyotumiwa vibaya. [OSPS-VM-05.03]
    Unda ukaguzi wa hali katika mfumo wa kudhibiti toleo la mradi unaoendesha zana ya Uchambuzi wa Muundo wa Programu kwenye mabadiliko yote ya msingi wa msimbo. Hitaji kwamba ukaguzi wa hali upite kabla mabadiliko kusanywa.


    Wakati uko hai, nyaraka za mradi LAZIMA zijumuishe sera inayofafanua kiwango cha marekebisho ya matokeo ya SAST. [OSPS-VM-06.01]
    Andika sera katika mradi inayofafanua kiwango cha marekebisho ya matokeo ya Upimaji wa Usalama wa Programu Tuli (SAST). Jumuisha mchakato wa kutambua, kutanguliza, na kurekebisha matokeo haya.


    Wakati uko hai, mabadiliko yote kwenye msingi wa msimbo wa mradi LAZIMA yaangaliwe kiatomati dhidi ya sera iliyoandikwa ya udhaifu wa usalama na kuzuiliwa katika hali ya ukiukaji isipokuwa inapotangazwa na kuzuiliwa kama isiyotumiwa vibaya. [OSPS-VM-06.02]
    Unda ukaguzi wa hali katika mfumo wa kudhibiti toleo la mradi unaoendesha zana ya Upimaji wa Usalama wa Programu Tuli (SAST) kwenye mabadiliko yote ya msingi wa msimbo. Hitaji kwamba ukaguzi wa hali upite kabla mabadiliko kusanywa.


Data hii inapatikana chini ya Community Data License Agreement – Permissive, Version 2.0 (CDLA-Permissive-2.0). Hii inamaanisha kuwa Mpokeaji wa Data anaweza kushiriki Data, na au bila marekebisho, mradi Mpokeaji wa Data anapatanisha maandishi ya mkataba huu na Data iliyoshirikiwa. Tafadhali tambua Marcus Paulo M Dias na wachangiaji wa nishani ya Mazoea Bora ya OpenSSF.

Ingizo la nishani ya mradi linamilikiwa na: Marcus Paulo M Dias.
Ingizo liliundwa siku 2026-05-26 15:32:19 UTC, iliyosasishwa mara ya mwisho siku 2026-05-26 15:33:32 UTC.