Search all 478 artefacts by title, document ID or content.
Notice | Family 11, Notices
A Security Bulletin is how Edsol Edtech Pvt. Ltd. tells the world, customers, prospective customers, researchers and the hospitals' own auditors, that a security defect existed in Pensieve or in something Pensieve depends, what it could have done, and what has been done about it.
This document is the source of truth for: security-bulletin-format, security-bulletin-publication-criteria, bulletin-id-scheme, cve-handling-position, researcher-acknowledgement-practice, marketing:/security/bulletins, trust:/security/bulletins
Those surfaces render this text from here. They do not keep their own copy, so they cannot drift from it.
Artefacts this one references or cannot be issued without.
Artefacts that would be blocked if this one were missing or out of date.
NTC-GL-021 | Version 1.0.0 | Last Modified On 31 July 2026
A Security Bulletin is how Edsol Edtech Pvt. Ltd. tells the world, customers, prospective customers,
researchers and the hospitals' own auditors, that a security defect existed in Pensieve or in
something Pensieve depends on, what it could have done, and what has been done about it.
This document is two things at once:
https://trust.pensievelabs.org/security/bulletins.Publishing bulletins is a net cost to Pensieve Labs in the short term and the reason a hospital's
IT head will believe anything else Pensieve Labs says. A vendor with an empty bulletin page has
either found nothing or published nothing, and the buyer cannot tell which.
Who must act on a bulletin differs by deployment model. Every bulletin carries this table with the model-specific action filled in.
DM-1 Dedicated |
DM-2 Shared |
DM-3 Customer Cloud |
DM-4 On-Premise |
|---|---|---|---|
Pensieve Labs deploys the fix. No customer action unless the bulletin says otherwise |
Pensieve Labs deploys the fix. No customer action unless the bulletin says otherwise |
Pensieve Labs deploys the fix inside the Customer's own cloud project under ADD-GL-009. The Customer may need to approve a deployment window |
The Customer must apply the released version. Pensieve Labs cannot patch infrastructure it does not control (ADD-GL-008 clause 7) |
The DM-4 line is the reason bulletins exist in this form. An on-premise hospital that is not told,
in a citable document, that a fixed version is available has no way to become secure.
Pensieve Labs publishes a bulletin| Trigger | Bulletin published? |
|---|---|
A vulnerability classified Critical or High under ADD-GL-001 clause 8.3 in Pensieve code |
Yes, always |
A vulnerability classified Medium in Pensieve code where a customer must take an action: change a configuration, rotate a credential, upgrade a DM-4 deployment |
Yes |
A vulnerability classified Medium with no customer action and a fix already deployed to all DM-1, DM-2 and DM-3 tenancies |
Recorded in REG-GL-204 and in the release notes; a bulletin at the discretion of the Security owner |
| A Low finding, a hardening improvement, or a defect with no security consequence | No. Release notes only |
A vulnerability in a third-party dependency (DIS-GL-019) that is reachable in Pensieve's configuration, rated Critical or High |
Yes, carrying the upstream identifier |
A vulnerability in a third-party dependency that is present but not reachable in Pensieve's configuration |
Yes, where the dependency is publicly known to be in use or a customer scanner will flag it, because a hospital's scanner reporting a Critical CVE against Pensieve needs an answer that already exists. These are marked Not Exploitable |
A vulnerability in a sub-processor's platform (DIS-GL-009) affecting customer tenancies |
Yes, where Pensieve Labs has permission to describe it, or by reference to the sub-processor's own advisory |
A vulnerability reported under POL-GL-059 and confirmed |
Per the classification rows above |
| An incident: a vulnerability that was exploited against a customer tenancy | Both. NTC-GL-002 to the affected hospitals inside the times in DIS-GL-016, and a bulletin. See Section 6 |
A bulletin is published whether or not any customer was affected, and whether or not the defect was
found internally. Pensieve Labs does not publish only the vulnerabilities other people found.
| Class | Bulletin published |
|---|---|
| Critical, with a working exploit in the wild | Within 48 hours of the fix or the mitigation reaching the last affected DM-1, DM-2 and DM-3 tenancy; and immediately, before the fix, where an interim mitigation exists that customers must apply themselves |
| Critical | Within 5 Business Days of remediation completing |
| High | Within 10 Business Days of remediation completing |
| Medium, customer action required | With the release that carries the fix |
| Third-party dependency, Not Exploitable | Within 10 Business Days of the upstream advisory |
Reported under POL-GL-059 |
Coordinated with the reporter (Section 7) |
Where a DM-4 deployment is affected, the bulletin is published when the fixed version is available for
the Customer to install, and the fixed version is available no later than the timescale in
ADD-GL-001 clause 8.4. Pensieve Labs does not hold a bulletin back because a DM-4 customer has
not yet upgraded; the mitigation is stated instead.
Embargo. Pensieve Labs will hold publication where publishing before a co-ordinating party is
ready would put others at risk: an upstream maintainer's own disclosure date, a co-ordinated disclosure
through a national CERT, or a fix not yet available for a component Pensieve Labs does not control.
The bulletin records the embargo and the reason when it is published. Pensieve Labs does not embargo
a bulletin for a commercial reason, for a sales cycle, or for a funding, audit or renewal event.
Format: PSB-YYYY-NNN. Pensieve Security Bulletin, calendar year of publication, zero-padded
sequence within the year, allocated in order of publication and never reused. A withdrawn bulletin keeps
its identifier and is marked Withdrawn with the reason.
Revisions. A bulletin is revised, never rewritten. Each revision increments a revision number
(PSB-YYYY-NNN r2), carries its own date, and the revision history at the foot of the bulletin states what
changed. Previous revisions remain retrievable. A bulletin whose content changed without a revision
entry is a bulletin nobody can rely on.
Edsol Edtech Pvt. Ltd. is not a CVE Numbering Authority. It does not assign CVE identifiers and does
not represent that it can.
| Case | What the bulletin carries |
|---|---|
| Vulnerability in a third-party component with a published CVE | The upstream CVE ID, the upstream advisory link, and Pensieve Labs's own reachability assessment |
Vulnerability in Pensieve's own code, reported by an external researcher, where the researcher wants an identifier |
Pensieve Labs supports the researcher's request to a CVE Numbering Authority of last resort and publishes the resulting ID in a revision. The bulletin is not delayed waiting for one |
Vulnerability in Pensieve's own code, found internally |
The PSB identifier only. The CVE field reads Not assigned |
A bulletin without a CVE is not a lesser bulletin. The PSB identifier is the citable reference for a
hospital's own vulnerability register, and the bulletin states the CVSS v3.1 vector so the hospital can
score it in its own framework.
Bulletin severity is the classification in ADD-GL-001 clause 8.3: CVSS v3.1 base score adjusted for
exploitability in Pensieve's actual configuration and for exposure. The bulletin publishes
both: the raw CVSS vector, and Pensieve Labs's adjusted classification with the reason for any
adjustment.
| Bulletin severity | Basis | Remediation timescale (production, internet-reachable) |
|---|---|---|
| Critical | CVSS ≥ 9.0; or internet-reachable with a public working exploit; or unauthenticated access to Customer Data or cross-tenant access | 48 hours with an exploit in the wild, otherwise 7 days (ADD-GL-001 cl. 8.4) |
| High | CVSS 7.0 to 8.9; or a demonstrated path to privilege escalation or Customer Data | 30 days |
| Medium | CVSS 4.0 to 6.9 | 90 days |
| Low | CVSS < 4.0 | Next scheduled release, and in any event 180 days |
| Not Exploitable | The component is present but the vulnerable code path is not reachable in Pensieve's configuration |
No remediation timescale. The dependency is removed or upgraded on the ordinary cadence in DIS-GL-019 |
Where Pensieve Labs scores a vulnerability lower than the upstream vendor, the bulletin says so and
says why, and states what would change the answer. Downgrading a score without publishing the reasoning
is indistinguishable from downgrading it for convenience.
DM-4, that means while any supported release remains vulnerable.DIS-GL-006, not DIS-GL-007.Security Bulletin (NTC-GL-021) |
Security Incident Notice (NTC-GL-002) |
|
|---|---|---|
| Says | A vulnerability existed and has been fixed | Something happened to your tenancy |
| Audience | The public | The affected hospital's named contacts |
| Timing | Section 2 of this document | Within 4 hours of Pensieve Labs's awareness (DIS-GL-016 Section 1) |
| Names the customer | Never | The recipient is the customer |
| Triggers a regulatory clock | No | Potentially: CERT-In 6 hours, and the Digital Personal Data Protection Rules, 2025 clocks (DIS-GL-016 Section 2) |
Where a vulnerability was exploited, both are issued, and the incident notice goes first. The bulletin follows once the affected hospitals have been notified and containment is complete. A bulletin is never the mechanism by which a hospital learns that its own data was affected.
Pensieve Labs credits the person who reported a vulnerability, by the name and affiliation they ask
for, in every bulletin arising from an external report. This is the operative practice under POL-GL-059.
Pensieve Labs asks before
publication and honours the answer.POL-GL-059. It is not acknowledged in a bulletin, because there is no bulletin.Pensieve Labs will not require a non-disclosure agreement as a condition of being credited, and
will not condition credit on the reporter's silence about the report.Pensieve Labs agrees it in writing and
keeps it, unless the vulnerability is being actively exploited, in which case Pensieve Labs tells
the reporter, and publishes.Render note. Everything below is the published instrument. Fields resolve from the
bulletin.*token namespace registered in Section 9. A bulletin with an unresolved required field cannot transition fromDRAFTtoISSUED(SPEC-003 Section B.7.3).
Bulletin ID: Bulletin title| Bulletin ID | Bulletin ID Bulletin revision label |
| CVE | Bulletin cve ids |
| Other identifiers | Bulletin other identifiers |
| Severity | Bulletin severity |
| CVSS v3.1 base score | Bulletin cvss score |
| CVSS v3.1 vector | Bulletin cvss vector |
| Affected products | Bulletin affected products |
| Affected versions | Bulletin affected versions |
| Fixed versions | Bulletin fixed versions |
| Affected deployment models | Bulletin affected deployment models |
| Customer action required | Bulletin customer action required |
| Publication date | Bulletin publication date |
| Last updated | Bulletin last updated |
| Status | Bulletin status |
Bulletin summary
One paragraph. What the defect was, what an attacker could have done, whether it was exploited, whether it is fixed, and whether the reader must do anything. A reader who stops after this paragraph must not be misinformed.
Bulletin background
What the affected component does and why it exists, in terms a hospital IT head who has never seen the code can follow. No more than a short paragraph.
Bulletin details
The technical description: the class of defect, the conditions required to exploit it, the privileges an
attacker would need, what the attacker would obtain, and the limits of the impact. State explicitly whether
cross-tenant access was possible. For DM-2 customers that is the only question that matters. State what
authentication, network position or user interaction was required, because those determine whether the
hospital's own controls already blocked it. No exploit code, no reproduction steps.
| Question | Answer |
|---|---|
| Was Customer Data accessible? | Bulletin impact customer data |
| Was cross-tenant access possible? | Bulletin impact cross tenant |
| Was authentication required? | Bulletin impact auth required |
| Was the vulnerable path internet-reachable? | Bulletin impact internet reachable |
| Is there evidence of exploitation? | Bulletin impact exploitation evidence |
Were any customers notified under NTC-GL-002? |
Bulletin impact incident notices issued |
| Were any regulatory notifications made? | Bulletin impact regulatory notifications |
"No evidence of exploitation" is written only where the logs that would have shown it exist, were
retained, and were examined. Where that is not the case, the answer is "Cannot be determined", followed by
why. DIS-GL-013 and DIS-GL-034 state what is logged and for how long.
Bulletin remediation
| Deployment model | What has happened | What you must do |
|---|---|---|
DM-1 Dedicated |
Bulletin remediation dm1 status |
Bulletin remediation dm1 action |
DM-2 Shared |
Bulletin remediation dm2 status |
Bulletin remediation dm2 action |
DM-3 Customer Cloud |
Bulletin remediation dm3 status |
Bulletin remediation dm3 action |
DM-4 On-Premise |
Bulletin remediation dm4 status |
Bulletin remediation dm4 action |
Interim mitigation, where a fix is not yet available to you: Bulletin mitigation
How to confirm you are no longer affected: Bulletin verification
State a check the hospital can run itself: a version string, a configuration value, a response header, a log query. "Contact support to confirm" is not a verification step.
| Date and time (IST) | Event |
|---|---|
{{bulletin.timeline[].at}} |
{{bulletin.timeline[].event}} |
The timeline records, at minimum: when the defect was introduced (or "not determined"); when it was
reported or detected, and by whom in general terms; when it was confirmed; when the fix was available; when
each deployment model was remediated; when any affected customer was notified; and when this bulletin was
published. Where a commitment in ADD-GL-001 clause 8.4 was missed, the timeline shows it and the
bulletin says so, the same rule as DIS-GL-016 Section 5.
Bulletin acknowledgement
Per Section 7. Where the defect was found internally, this reads: "Found by Pensieve Labs during
Bulletin discovery activity." Where a researcher reported it and chose anonymity, it reads:
"Reported by a researcher who has asked not to be named. Pensieve Labs thanks them."
Bulletin references
| Revision | Date | Change |
|---|---|---|
{{bulletin.revisions[].number}} |
{{bulletin.revisions[].date}} |
{{bulletin.revisions[].summary}} |
Questions about this bulletin: info@pensievelabs.org.
Reporting a vulnerability: POL-GL-059 and https://trust.pensievelabs.org/.well-known/security.txt.
Customers with a support agreement may raise a Ticket under SLA-GL-001; a bulletin-related Ticket is
handled at the Severity Level the bulletin's severity implies.
Pensieve Labs registers the bulletin.* namespace under SPEC-003 Section B. Required fields cannot be blank
at issue.
| Token | Type | Required | Notes |
|---|---|---|---|
bulletin.id |
string | Yes | PSB-YYYY-NNN, allocated on creation, never reused |
bulletin.revision_label |
string | No | r2, r3 … blank on first publication |
bulletin.title |
string | Yes | Names the defect class and the component. Not a marketing line |
bulletin.cve_ids |
list | Yes | Not assigned where none, never blank |
bulletin.other_identifiers |
list | No | Upstream advisory IDs, GHSA, vendor bulletin references |
bulletin.severity |
enum | Yes | Critical / High / Medium / Low / Not Exploitable |
bulletin.cvss_score |
string | Yes | Not scored where the defect is not CVSS-scorable, with the reason in Details |
bulletin.cvss_vector |
string | Yes | Full v3.1 vector string |
bulletin.affected_products |
list | Yes | Pensieve and the named component or service |
bulletin.affected_versions |
string | Yes | Version range, or All releases before Bulletin fixed versions |
bulletin.fixed_versions |
string | Yes | The first release containing the fix |
bulletin.affected_deployment_models |
list | Yes | Any of DM-1…DM-4 |
bulletin.customer_action_required |
enum | Yes | None / Configuration change / Credential rotation / Upgrade required |
bulletin.publication_date |
date | Yes | Frozen at issue |
bulletin.last_updated |
date | Yes | Updated on each revision |
bulletin.status |
enum | Yes | Published / Revised / Withdrawn |
bulletin.summary … bulletin.references |
markdown | Yes | Body sections in Section 8 |
bulletin.impact.* |
enum/markdown | Yes | The impact assessment table |
bulletin.remediation.dm1..dm4_status / _action |
markdown | Yes | One row per model, always all four, Not affected where so |
bulletin.mitigation |
markdown | Yes | Not applicable: the fix is deployed where so |
bulletin.verification |
markdown | Yes | A check the customer can run |
bulletin.timeline[] |
list | Yes | At least: detected, confirmed, fixed, published |
bulletin.acknowledgement |
markdown | Yes | Never blank (Section 7) |
bulletin.discovery_activity |
string | No | Used in the internal-discovery acknowledgement wording |
bulletin.embargo_reason |
markdown | No | Required where publication was held (Section 2) |
| Channel | What goes there |
|---|---|
https://trust.pensievelabs.org/security/bulletins |
Every bulletin, full text, permanent URL per PSB ID, no authentication, indexable |
| RSS / Atom feed at the same path | Every bulletin and every revision, so a hospital's security team can subscribe without an account |
| Direct e-mail to Customers' Authorised Support Contacts and security contacts recorded on the Order Form | Every Critical and High bulletin, and every bulletin where bulletin.customer_action_required is not None |
Pensieve Labs status page |
A pointer, where the bulletin coincided with an availability event |
Trust Center Update Bulletin (NTC-GL-020) |
A monthly digest entry. The digest is never the first notice of a Critical or High bulletin |
Release notes (DIS-GL-031) |
The fix, cross-referenced to the PSB ID |
Publication is not notice for DM-4. Where a DM-4 Customer must install a release, the bulletin is
sent to that Customer directly, and Pensieve Labs records the despatch. This is the same rule as
POL-GL-064 clause 2.3.
| Role | Accountable for |
|---|---|
Security owner (info@pensievelabs.org) |
Deciding whether a bulletin is published, its severity, its content, and the publication date |
| Engineering owner | The technical accuracy of Details, Remediation and Verification |
| Legal | Reviewing only for statements that create liability or breach a confidentiality obligation. Legal does not decide whether a bulletin is published |
| Founder | The single escalation point where Security and Legal disagree, and the only person who may authorise an embargo under Section 2 |
The decision to publish sits with Security, not with Commercial. No sales, commercial or investor
consideration is a ground for withholding, delaying or softening a bulletin, and any request to do so is
recorded in the Exception & Waiver Register (REG-GL-210) whether or not it is granted.
| Topic | Document |
|---|---|
| Vulnerability classification and remediation timescales | ADD-GL-001 clause 8 |
| How vulnerabilities are found and managed | DIS-GL-017 |
Reporting a vulnerability to Pensieve Labs |
POL-GL-059 |
| Dependencies and SBOM | DIS-GL-019 |
| Incident response, severity and notification clocks | DIS-GL-016 |
| Security incident notice to a hospital | NTC-GL-002 |
| Release and change management | DIS-GL-031 |
| Emergency and expedited security maintenance | SLA-GL-001 clause 10 |
Deprecation and version support for DM-4 |
POL-GL-064 |
| The vulnerability record | REG-GL-204 |
| Version | Date | Author | Summary |
|---|---|---|---|
| 1.0.0 | 31 July 2026 |
Pensieve Labs Security |
First publication. Establishes the publication criteria, the PSB-YYYY-NNN identifier scheme, the explicit non-CNA position on CVE identifiers, the per-deployment-model remediation table, the requirement to publish a missed remediation timescale, the researcher acknowledgement practice, and the rule that publication is decided by Security and never by Commercial. |