SMJobs
Home Jobs Post Terms

PAIA & POPIA Compliance Manual

The internal compliance manual for SMJobs: the processing register, how we honour data subject rights, our safeguards, how we handle a breach, and the schedule we work to.

Last updated: 21 October 2026 · Version 1.0 · Owner: Information Officer

Contents

  1. Purpose, scope and status
  2. Roles and accountability
  3. Legal framework
  4. The processing register
  5. Consent management
  6. Data subject rights
  7. Special personal information
  8. Security safeguards
  9. Security compromise and breach management
  10. Direct marketing
  11. Cross-border processing
  12. Retention and disposal schedule
  13. Compliance calendar
  14. Annexures

1. Purpose, scope and status

This manual records how [LEGAL ENTITY NAME] ("SMJobs", "we") complies with the Protection of Personal Information Act 4 of 2013 ("POPIA") and the Promotion of Access to Information Act 2 of 2000 ("PAIA"). It is the operating document behind the Privacy Notice, the Cookie Policy and the Terms & Conditions.

It covers the SMJobs platform at smjobs.co.za — the job board, the seeker and employer accounts, the application process, the talent directory, the administrative back office, the newsletter and the cookies the site sets. It does not cover recruitment agencies or employers who use the platform as a candidate source under their own lawful basis, or third-party sites we link to.

It is a controlled document. The Information Officer owns it, reviews it at least annually, and records every change in the change log at Annexure C. Where this manual and the published notices disagree, the published notices are the public commitment and this manual must be corrected; where this manual and the code disagree, the code must be corrected, because the code is what actually happens to a data subject's information.

Status

Version 1.0. The technical controls described in sections 8 and 12 are implemented and live. The items marked open in Annexure A are the outstanding actions that must be closed by the operator before the first compliance review.

2. Roles and accountability

POPIA places the duty on the responsible party. We are the responsible party for the personal information described in the processing register.

  • Responsible party / Operator — [LEGAL ENTITY NAME], registration number [CIPC REGISTRATION NUMBER], of [REGISTERED STREET ADDRESS] (VAT number [VAT NUMBER]). The operator decides what is processed and why, and is accountable for this manual.
  • Information Officer — [INFORMATION OFFICER NAME AND ROLE]. Responsible for the public-facing notices, the processing register, this manual, the handling of data subject requests, and the liaison with the Information Regulator. Reachable at info@smjobs.co.za or on +27 788 770 744.
  • Service providers and operators — the web host, the email delivery provider and the analytics provider (if one is engaged). They process on our instructions under a written operator agreement, are bound to our security requirements, and are not permitted to use the information for their own purposes.
  • Internal users — administrative staff with access to the back office. Their access is limited to what their role requires, is individually attributable, and is logged.

A single breach of this manual by a staff member is a disciplinary matter. Any suspected breach of personal information is also a security compromise under section 22 and must be reported to the Information Officer immediately, whatever else it turns out to be.

3. Legal framework

This manual is written against, and should be read with:

  • POPIA — the Protection of Personal Information Act 4 of 2013. Section 9 requires personal information to be processed lawfully and in a reasonable manner that does not infringe the data subject's privacy, and section 11 sets out the grounds on which it may be processed, together with consent, withdrawal of consent and objection. Section 13 requires collection for a specific, explicitly defined and lawful purpose; section 14 limits retention; section 17 requires processing to be documented; section 18 requires the data subject to be notified when information is collected. Section 19 sets the security safeguards and section 22 requires the Regulator and the data subject to be notified of a security compromise. Section 5 lists the data subject rights, and sections 23, 24 and 25 give the detail on access, on correction, destruction and deletion, and on the manner of access. Section 26 prohibits processing special personal information, and section 34 governs the personal information of children. Section 69 deals with direct marketing by unsolicited electronic communications, section 71 with automated decision-making, and section 72 with transfers of personal information outside the Republic.
  • PAIA — the Promotion of Access to Information Act 2 of 2000. It applies to records held by public bodies. SMJobs is a private entity, so PAIA access requests are not a general entitlement against us; where a request is made we route it to the Information Officer, who responds in writing and explains the position, including the sections of PAIA that protect third-party privacy and the commercial information exemptions. Where a request concerns the personal information of the requester, POPIA rights apply instead and are dealt with under section 6.
  • Consumer Protection Act 68 of 2008 — for the quality, accuracy and fairness of the marketing we send and the terms on which we contract.
  • Electronic Communications and Transactions Act 25 of 2002 — for the validity of electronic consents and records, and for the unsubscribe requirement in direct marketing.
  • Protection of Personal Information Act regulations and directives issued by the Information Regulator from time to time.

4. The processing register

POPIA section 17 requires a responsible party to document all processing operations under its responsibility, and section 18 requires the data subject to be told, when information is collected, what it is collected for. This register is the operational form of that documentation. It is maintained by the Information Officer. Each row is a processing activity, not a table, because the lawful basis and the retention period attach to the purpose, not to the column.

RefProcessing activityData subjectsCategoriesLawful basisSourceRecipientsRetention
R-01 Account creation and authentication (seeker) Job seekers Name, email, phone, password hash, profile photo, Google subject id, email-verified flag, password-changed date Performance of a contract (s.11(1)(b)); consent (s.11(1)(a)) for the terms Directly from the data subject; from Google on OAuth sign-in Hosting and email service providers (as operators) Life of the account, then deleted under the account-deletion procedure
R-02 Account creation and authentication (employer) Employers Company name, contact name, email, phone, VAT number, logo, password hash Performance of a contract (s.11(1)(b)); consent (s.11(1)(a)) for the terms Directly from the data subject Hosting and email service providers (as operators) Life of the account, then deleted under the account-deletion procedure
R-03 Job posting and vacancy management Employers; job seekers Vacancy details, company details, contact details of the poster Performance of a contract (s.11(1)(b)); legitimate interests (s.11(1)(f)) for moderation Directly from the employer The public (published job listings), and the employer's own logged-in staff While the vacancy is live, and for the statutory period after it closes
R-04 Job applications Job seekers; employers Name, email, phone, cover letter, CV file, application timestamp, employer review status Consent (s.11(1)(a)) — the applicant ticks the consent box at the point of application; performance of a contract (s.11(1)(b)) Directly from the applicant The employer that received the application, and the administrators who moderate it 24 months, then the row and the CV file are deleted automatically
R-05 Talent directory (recruiter-facing seeker profiles) Job seekers who have opted in Headline, location, experience, skills, LinkedIn URL, CV, email, phone Consent (s.11(1)(a)) — explicit opt-in, default off Directly from the data subject, via the toggle in their account Employers and recruiters browsing the directory Until the seeker switches it off, deletes their account, or the 24-month sweep reaches the record
R-06 CV storage and authenticated delivery Job seekers; employers CV file name and the file itself Performance of a contract (s.11(1)(b)); legitimate interests (s.11(1)(f)) for the access controls around it Directly from the data subject The seeker themself; the employer that holds the application or that the seeker has opted in to; administrators Held with the record it belongs to; deleted with the application, the profile or the account, whichever goes first
R-07 Consent ledger Everyone who gives consent Visitor id, account id where known, email where given, consent type, categories, policy version, granted or withdrawn, source, IP address, user agent, timestamps Legal obligation (s.11(1)(c)) and legitimate interests (s.11(1)(f)) — the evidence of compliance, because the burden of proving consent sits with us, not with the data subject Generated by the platform at the moment of consent Administrators and the Information Officer 5 years from the date of the record, unless the data subject asks us to delete their records, in which case the rows tied to them are deleted with the rest
R-08 Cookie and preference storage Site visitors Consent state, visitor id, saved-job ids, saved job-search filters, functional identifiers Consent (s.11(1)(a)) for anything optional; legitimate interests (s.11(1)(f)) for essential session handling Generated on the device by the browser Not transferred off the device, except the consent record itself, which is written to the ledger at R-07 Until the cookie expires (see the Cookie Policy) or the visitor clears it
R-09 Newsletter subscription Prospective and existing users Email address Consent (s.11(1)(a)), recorded before the mail is sent Directly from the person who subscribes The email delivery provider (as operator) Until unsubscribed, then the subscription is removed and the consent record is retained under R-07
R-10 Abuse prevention and rate limiting Users and applicants IP address, browser and device, application timestamps Legitimate interests (s.11(1)(f)) — security and abuse prevention Read from the request at the time it is made Administrators 24 months
R-11 Administrative audit trail Administrators; data subjects who are the subject of the action Action, target, actor, timestamp, and the name or email of the person affected Legal obligation (s.11(1)(c)); legitimate interests (s.11(1)(f)) Generated by the back office Administrators and the Information Officer 24 months
R-12 Account recovery Account holders Email address, hashed single-use reset token, expiry Performance of a contract (s.11(1)(b)) Directly from the account holder The email delivery provider (as operator) Token expires after 1 hour; the row is deleted after 7 days
R-13 Google OAuth sign-in Users who choose Google Name, email, profile picture, Google subject id Consent (s.11(1)(a)), given by choosing to continue with Google Google Hosting provider (as operator) As R-01 / R-02
R-14 Employer moderation of listings and applications Employers; job seekers Submission content, employer details Legitimate interests (s.11(1)(f)) — keeping the marketplace trustworthy Generated by the platform Administrators 24 months
Note on R-05

The talent directory is the one place on the platform where a data subject's details are visible to other people. It is opt-in, not opt-out: a seeker is invisible until they switch it on themselves, and switching it off takes effect immediately. The employers who browse it can see the contact details listed in R-05, which is why the copy in the account area says so plainly rather than hinting at it.

5. Consent management

Where we rely on consent, it must be freely given, specific, informed and unambiguous, and it must be a positive act (POPIA section 11). The platform implements this as follows.

5.1 The consent ledger

Every consent decision is written to the consents table at the moment it is made, with the visitor id, the account id where the person is signed in, the email address where one was given, the consent type, the categories, the policy version that was on display, the source, the IP address, the user agent, and the timestamp. A withdrawal is recorded as a new row with granted = 0 and a withdrawn_at timestamp, so the history is never rewritten — we can always show what was agreed to and when, which is what POPIA and the Regulator expect to be able to see. The responsible party bears the burden of proof of consent, so this ledger is how we discharge it.

5.2 The consent categories

  • essential — required for the site to work. The session cookie, the consent cookie itself, the visitor id, and the saved-jobs cookie. No consent is required for these because the site cannot operate without them, and POPIA permits processing that is necessary for the transfer or service to be delivered.
  • functional — remembers job-search filters so a returning visitor does not have to set them again. Optional, and off until accepted.
  • analytics — reserved for a measurement tool. No analytics or tracking code is currently running on the platform, and the banner says so rather than implying that a consent is doing something it is not.

5.3 How consent is obtained

  • Cookies — the banner offers "Accept all", "Essential only" and "Cookie settings". Choosing "Essential only" is recorded as a refusal of the optional categories. A visitor who has not chosen either way is treated as essential-only, and optional cookies are not set.
  • Talent directory — a switch in the account area, off by default. Switching it on records a consent; switching it off withdraws it and hides the profile at once.
  • Job applications — a tick box next to the "Apply" button, unticked by default, stating that the CV and covering letter will be processed for that application. The application is refused server-side if the box is not ticked; the browser check is a convenience, not the control.
  • Registration — a tick box for the Terms and the Privacy Notice. A registration without it is refused.
  • Google sign-in — no separate tick box. The button is accompanied by the notice "By continuing with Google you agree to our Terms of Service and Privacy Policy", and continuing is the positive act. The consent is recorded when the account is created.
  • Newsletter — a tick box on the subscribe form. A subscription without it is refused, and the refusal is recorded.

5.4 Withdrawing consent

Withdrawal is as easy as giving it. The "Cookie settings" link in the footer of every page reopens the preference panel, and the talent directory switch is in the account area. A request to withdraw by email is actioned by the Information Officer within the ordinary rights timescale, and the withdrawal is recorded in the ledger.

6. Data subject rights

POPIA section 5 lists the rights a data subject has: to be notified that information is being collected or has been accessed by an unauthorised person; to establish whether we hold their information and to get access to it; to have it corrected, destroyed or deleted; to object to processing on reasonable grounds, and to object to direct marketing at any time; to withdraw consent; not to be subject to a decision based solely on automated processing; to complain to the Regulator; and to institute civil proceedings. Requests are free. We do not charge for a request, and we do not ask for identity documents beyond what is needed to confirm that the requester is who they say they are.

RightSectionHow it is exercisedWhat we must doTimeframe
Access s.23 Email the Information Officer, or ask in the account area Provide a copy of the personal information we hold about the requester, plus the identity of all third parties or categories of third parties who have, or have had, access to it, in a reasonable time and in a form that is generally understandable Within a reasonable time, and in any event within 30 days of receiving the request
Correction / rectification s.24(1)(a) Edit the profile directly, or email the Information Officer Correct or delete personal information that is inaccurate, irrelevant, excessive, out of date, incomplete, misleading or was obtained unlawfully. Where the change has an impact on decisions that have been or will be taken about the data subject, inform each person or body to whom the information was disclosed As soon as reasonably practicable; immediately where the edit is made by the data subject in their own account
Objection to processing s.11(3)(a) Email the Information Officer Consider the objection on reasonable grounds relating to the data subject's particular situation. If it is upheld, we may no longer process the personal information — s.11(3) is not a right to be weighed against a commercial interest, it is a stop Within the same 30-day window; processing is suspended while the objection is considered
Objection to direct marketing s.11(3)(b), s.69(3)(c) The unsubscribe link in every marketing email, or the "Cookie settings" / account switch Stop the marketing immediately and permanently. We do not ask for a reason and we do not require a phone call Immediately, and in any event within the timescale the ECTA allows for the unsubscribe request to take effect
Withdrawal of consent s.11 Cookie settings, the account switch, the unsubscribe link, or by email Stop the processing that rested on that consent, and record the withdrawal. Withdrawal does not affect the lawfulness of the processing before the withdrawal, nor processing that rests on a ground other than consent Immediately on request; where the request arrives by email, within 30 days
Deletion of information s.24(1)(b), s.14 The "Delete my account" control in the account area, or by email Delete the account and everything that hangs off it: the profile, the applications, the CV files, the saved jobs, the consent records that relate to the person, and the applications they sent to an employer's jobs. The audit log entry is kept, but the name and email in it are replaced with "[redacted]" Immediately on the in-product control; within 30 days of a written request
Complaint to the Regulator s.5, s.74 Directly to the Information Regulator, without coming to us first Nothing is required of us beyond cooperating with the Regulator. We would rather you raised it with us first, but you are not required to As set by the Regulator's process
Civil proceedings s.5, s.99 Through a court Nothing. This is a right you hold against us, not a request you make to us As set by the court

6.1 How a request is handled, step by step

  1. The request is logged on receipt, with the date, the channel, and the identity of the person who received it.
  2. Identity is confirmed. For a signed-in account the session is the confirmation. For an email request we confirm the address the request came from, or ask for one non-sensitive detail already on the account, such as the company name or the headline. We never ask for a password, an ID number or a CV as proof of identity.
  3. If the request is on behalf of someone else — for example a guardian, or a person acting under a power of attorney — the authority to act must be established before we disclose anything.
  4. The request is assessed against the register, to identify every row that holds the requester's information and every recipient it has already been sent to.
  5. The Information Officer decides whether any of the processing must stop immediately pending the outcome, which is the normal treatment of an objection under s.11(3).
  6. The response is prepared, signed off by the Information Officer, and sent within the timeframe above. Where a request is refused, the refusal is in writing and states the reason.
  7. The outcome is recorded in the rights request log, and the log is reviewed at each compliance review.
Rejection is a decision, not an accident

A request is refused only where the law permits it, and the refusal is recorded with the reason: for example, where the request would disclose another person's personal information, where the record is subject to a legal hold, or where the information was lawfully made public by the data subject and the request is not about their rights rather than the public record. A refusal on the ground that a request is manifestly unfounded or excessive, and that the cost of dealing with it would be unreasonable, is a last resort — s.10 requires that processing be reasonable and minimal — and we do not use it to avoid ordinary requests.

7. Special personal information

POPIA section 26 prohibits processing special personal information — health, biometric, racial or ethnic origin, political opinions, religious or philosophical beliefs, trade union membership, genetic information, and the personal information of children — unless an exception in s.27(1) applies.

SMJobs does not ask for special personal information, and the platform has no field for it. We do not ask for it on registration, on the profile, on the application form or on the job posting form.

We recognise that a CV or a covering letter may contain special personal information that the data subject chose to include, and that a job seeker may mention a disability, a pregnancy, a religious observance, or a union membership in the course of explaining why they are a good fit. That is the data subject's own free expression, provided to the employer, and we neither profile on it nor treat it as a reason to refuse a listing. We do not read applications to infer special personal information, and we do not ask employers to send it to us through the platform.

If a data subject asks us to stop processing special personal information that they have included in a CV or covering letter, we treat that as an objection and a correction under sections 11(3) and 24, and we remove it from the stored file where we are able to.

We do not knowingly allow the Platform to be used to recruit on the basis of race, colour, religion, gender, sexual orientation, pregnancy or HIV status. Section 9 of the Terms makes that a breach of the contract, and the moderation queue exists partly to catch it.

8. Security safeguards

POPIA section 19 requires safeguards appropriate to the sensitivity of the data and the risk of harm, and section 19(2) requires the measures in Schedule 2 to be adhered to. These are the measures in place, and what each one is for.

ControlWhat it doesProtects against
Password hashing Passwords are stored as an irreversible hash. They are never stored in clear, never written to a log, and never recoverable by anyone, including us A database disclosure exposing usable passwords
Session cookies marked HttpOnly, Secure and SameSite=Lax The session identifier cannot be read by client-side script and is not sent on cross-site requests Session hijacking and cross-site request forgery
CSRF tokens on every state-changing request A per-session token must be returned with any write. The check is skipped for read-only methods, so a link can never change anything A third-party site silently making a change in a signed-in user's name
HTTP method enforcement Every mutating API action is restricted to the one method it is meant to use — for example, deleting a user record requires DELETE, and a request by any other method is refused with a 405 State changes triggered by a simple GET request, which browsers and crawlers follow automatically
Same-origin checks on public write endpoints Consent records and newsletter subscriptions are refused if the request arrives with a foreign Origin Cross-site injection of consent or subscription records
Authenticated CV delivery CVs are not served as static files. A request for one is checked against the file system, and the directory denies direct access, so a guessed or scraped file name yields nothing Bulk scraping of every CV on the platform
Role-based authorisation on every read A seeker sees their own profile CV and their own applications; an employer sees a seeker profile only where that seeker has opted in, and an application's CV only for a vacancy they own; an administrator sees the moderation view One user reading another user's personal information
Rate limiting Application submissions, password reset requests and admin logins are throttled per IP address and per account Automated abuse, credential stuffing, and mass application flooding
Single-use, time-limited reset tokens Reset tokens are stored as a hash, expire after one hour, and are deleted the moment they are used. Requests are limited to three an hour Password reset by a stale or intercepted token, and enumeration of registered addresses
Administrative session management Admin sessions are server-side, expire, and are invalidated on logout. Administrative actions are recorded in an audit log Unattended admin access, and actions that cannot be attributed
Parameterised database access Every query uses prepared statements with bound parameters; no user input is concatenated into SQL SQL injection
Output escaping User-supplied content is escaped before it is written into a page, including in the administrative back office Stored cross-site scripting
Upload validation and safe deletion Uploads are restricted by type and are written under generated names. A file is only unlinked after its name has been reduced to a base name and checked against a strict pattern Executable uploads, and a deletion path that can be aimed outside the upload directory
Self-hosted fonts and consent-gated third-party scripts The typeface is served from our own domain. Google AdSense is the only third-party advertising script and it loads only after the visitor agrees to the Advertising cookie category; it is removed when that consent is withdrawn. Third-party tracking, and the leakage of a visitor's IP address to a font or tag vendor without consent
Automated retention Expired applications, CV files, consent records, audit entries and reset tokens are deleted on a schedule without anyone having to remember Personal information being kept long after it stops being needed
Backups and restore testing Database backups are taken on a schedule and the restore procedure is tested Loss of availability, and a backup that turns out not to work when it is needed

9. Security compromise and breach management

POPIA section 22 requires a responsible party to notify the Information Regulator — and, subject to the one exception in section 22(3), the affected data subjects — where there are reasonable grounds to believe that the personal information of a data subject has been accessed or acquired by any unauthorised person. The test is a reasonable belief that unauthorised access or acquisition has happened, not a finding that serious harm is likely: if the threshold in section 22 is met, we notify.

Section 22(2) requires the notification to be made as soon as reasonably possible after the discovery of the compromise, taking into account the legitimate needs of law enforcement and any measures reasonably necessary to determine the scope of the compromise and to restore the integrity of our information systems. Section 22(4) requires the notification to a data subject to be in writing, delivered by one of the listed routes — mail to the last known physical or postal address, email to the last known email address, a prominent notice on our website, publication in the news media, or as the Regulator directs. Section 22(5) requires the notification to contain enough information for the data subject to take protective measures: the possible consequences, the measures we have taken or intend to take, a recommendation on what the data subject should do, and the identity of the unauthorised person if we know it. The Regulator may also direct us to publicise a compromise (section 22(6)).

The one exception

Section 22(3) allows us to delay notifying the data subject if a public body responsible for the prevention, detection or investigation of offences, or the Regulator, determines that notification would impede a criminal investigation. Notification to the Regulator is not delayed. The only other limit is practical: if the identity of the data subject cannot be established, we notify the Regulator and not the data subject.

9.1 What counts as a security compromise

Not only a hacker. A security compromise includes, for us:

  • unauthorised access to the database, a backup, or a credential;
  • a CV or a set of CVs accessed by someone who should not have had them — for example a URL guess that returns a file it should not;
  • an account takeover, including one achieved through a reset token that was intercepted or reused;
  • loss or theft of a device that was not encrypted;
  • an email sent to the wrong recipient that contained personal information;
  • an administrative action that exposed data it should not have — for example a moderation view returning more than it should;
  • an error in a deletion routine that left personal information behind;
  • the loss or compromise of a credential held by a service provider, which is a compromise for us too.

9.2 The procedure

  1. Detect and report — as soon as anyone suspects a compromise, they report it to the Information Officer, immediately and directly. They do not investigate it alone, and they do not wait to be sure.
  2. Contain — the Information Officer decides how to stop it: revoke the session or the credential, remove the access path, disable the endpoint, or take the service down while the fix is applied. Containment comes before understanding.
  3. Preserve evidence — logs, the affected records, the time it happened, the systems involved. Do not wipe, reformat or clean up before the evidence is captured.
  4. Assess — determine what information was involved, how many data subjects are affected, what the information is, whether the data was encrypted, and whether it has been published. This assessment is what decides whether the section 22 threshold is met, and it also tells us who to notify and what to tell them.
  5. Notify the Regulator — where there are reasonable grounds to believe that personal information has been accessed or acquired by an unauthorised person, notify the Information Regulator as soon as reasonably possible after discovery, in the form the Regulator prescribes and with the information section 22 requires.
  6. Notify the data subjects — notify the affected persons in writing, unless their identity cannot be established or a criminal investigation is impeded. The notice must say what the possible consequences are, what we have done about it, what the data subject should do to protect themselves, and the identity of the unauthorised person if we know it.
  7. Remediate — fix the cause, not just the symptom. Re-issue credentials, close the access path, and add a control that stops the same thing happening again.
  8. Learn — write it up in the breach register at Annexure B, and bring the lesson into the next compliance review.
Do not

Do not delay notification while the full picture is assembled. The Regulator's test is "as soon as reasonably possible", and section 22(2) expressly allows for the delay needed to determine the scope of the compromise and to restore the integrity of our systems — but no longer. A late notification is a failure in its own right. Do not tell affected data subjects before the assessment is complete enough to be accurate, and do not tell the media or the public — the data subjects come first, and the Regulator decides what is public.

10. Direct marketing

POPIA section 11(3)(b) gives a data subject the right to object, at any time, to the processing of their personal information for direct marketing, and section 69 governs direct marketing by means of unsolicited electronic communications — the communications that count as "unsolicited" are listed in section 69(1) and the corresponding right to object is in section 69(3)(c). The ECTA requires an unsubscribe mechanism that is simple, immediate and effective.

  • Every marketing email carries a working unsubscribe link, and unsubscribing takes effect without requiring a reason, a phone call or a login.
  • Unsubscribe removes the address from the newsletter list and records the withdrawal in the consent ledger. It is not a soft opt-out and it does not require the person to re-confirm.
  • Job alerts and application notifications are service messages about a transaction the person asked for, and are not marketing. The distinction is recorded in the register at R-09.
  • We do not buy, rent or trade mailing lists, and we do not accept third-party data about job seekers from anyone. The Terms prohibit it, and the moderation queue exists to catch it.
  • Every piece of direct marketing identifies us, gives a postal address, and gives a way to reach the Information Officer.

11. Cross-border processing

The Platform is hosted with a service provider outside South Africa, and the email delivery provider processes messages outside South Africa. The regulatory consequence is that information is processed outside the Republic, and POPIA section 72 governs transfers of personal information outside the Republic: a transfer may only take place if the conditions in section 72 are met, which in turn require the level of protection to be no less than the level of protection in South Africa.

What we do about it:

  • service providers are bound by operator agreements that carry our security requirements across the border;
  • the transfer is limited to what the service requires — a hosting provider receives the data in the application, and an email provider receives the address and the message body and nothing else;
  • the risk is recorded in the register at R-01, R-04 and R-09, and is reconsidered if a new provider is engaged;
  • if a transfer to a country without an adequate level of protection became necessary, we would put in place a binding undertaking from the recipient, or seek the Regulator's authorisation, before it happens.

12. Retention and disposal schedule

POPIA section 14 requires a responsible party to keep personal information only for as long as it is needed for the purpose for which it was collected, and section 24(1)(b) gives a data subject the right to have a record destroyed or deleted where the responsible party is no longer authorised to retain it. The schedule below is the one the platform enforces automatically where it can, so that retention does not depend on anybody remembering.

RecordRetentionTriggerHow it is disposed of
Job applications and the CVs attached to them24 monthsDate appliedAutomatically, by the daily retention sweep: the database rows and the CV files are both deleted
Consent ledger records5 yearsDate the record was createdAutomatically, by the same sweep
Administrative activity log24 monthsDate the action was loggedAutomatically, by the same sweep
Password reset tokens1 hour of expiry; the row is removed after 7 daysExpiry, then ageAutomatically; the token is also deleted the moment it is used
Seeker and employer accountsThe life of the accountAccount closureOn deletion, see below
Profile CV and profile photoThe life of the accountAccount closureDeleted with the account
Saved jobsThe life of the accountAccount closureDeleted with the account
Live job listingsWhile the vacancy is live, and for the statutory period after it closesClosing dateRemoval from the published listing, then archival deletion
BackupsOn the backup scheduleAgeThey expire on the rotation. Note that personal information inside a backup is not deleted early, because that would require restoring and rewriting every backup

12.1 What "delete my account" removes

The account-deletion routine runs in a single transaction and removes, in one pass:

  • the account row itself;
  • the seeker or employer profile row;
  • every application the person submitted, by account id and by email address, including applications they submitted as a guest;
  • every application made to a vacancy the person posted as an employer, together with the applicant's CV files attached to them;
  • the CV file on the profile, and any other CV file the person uploaded;
  • the saved-jobs rows, by account id and by vacancy id;
  • the consent records tied to the person, by account id and by email address;
  • the password reset rows;
  • any vacancies the employer posted, and the submissions attached to them;
  • the name and email address in the audit log, replaced with "[redacted]", so the log keeps its evidential value without keeping the personal information;
  • the session and the session cookie.

What is deliberately kept: a single audit entry recording that the account was deleted, the account id, and the date. It holds no name, no email address and no content. The consent records are deleted along with everything else, because a data subject's request to have their information deleted under section 24(1)(b) overrides the five-year evidential retention described at R-07; what we keep in its place is the redacted audit entry, which is enough to show that a deletion was requested and carried out, and by whom.

13. Compliance calendar

The Information Officer keeps this schedule. Each item is a task, an owner and a date, and the review is evidenced by a signed entry in the register kept for that purpose.

FrequencyTaskOwner
Daily (automated)Retention sweep: expired applications and CVs, consent records older than 5 years, activity log older than 24 months, reset tokens older than 7 daysPlatform
WeeklyCheck the failure and error logs for anything that looks like an attempt to pull CVs in bulk, and for repeated failures on the application and login endpointsOperator
MonthlyReview the moderation queue for pending employer approvals, pending submissions, and listings that may be discriminatoryOperator
MonthlyReconcile the newsletter list against the consent ledger, and remove any address that has no live consentOperator
QuarterlyReview administrator accounts: who has access, whether it is still needed, and whether the access is attributableInformation Officer
QuarterlyTest the backup restore procedure and record the resultOperator
Half-yearlyReview the data subject rights log: what came in, what went out, what took too long, and what was refused and whyInformation Officer
Half-yearlyReview the processing register against the code. Any new table, new field, new endpoint or new third-party script is a change to a processing activity and must be registeredInformation Officer
AnnuallyFull review of this manual, the Privacy Notice, the Cookie Policy and the Terms. Confirm the Information Regulator's current directives have been read and complied withInformation Officer
AnnuallyRe-attest the security safeguards in section 8 — is each one still switched on, and does it still do what it says it doesInformation Officer
AnnuallyRe-attest the service provider agreements, including the cross-border safeguards in section 11Information Officer
On any changeUpdate the register, the notices and this manual before the change goes live — never afterInformation Officer

14. Annexures

Annexure A — Open items

These are the outstanding actions. Each must be closed before the first compliance review.

ItemWhat is neededOwnerStatus
Legal entity detailsLegal entity name, CIPC registration number, registered street address and VAT number, to replace the placeholders in this manual and in the three public noticesOperatoropen
Information OfficerName and role of the appointed Information Officer, to replace the placeholderOperatoropen
Installation fileThe installation script must be removed from the public server once the database is in placeOperatoropen
Database credentialsThe database user must be given only the privileges the application needs, and the password must be rotatedOperatoropen
Administrator passwordRotate the initial administrator password and confirm the reset procedure works end to endOperatoropen
Session invalidation on password changeExisting sessions must be invalidated when a password is changed, so that a stolen session cannot outlive the credentialDeveloperopen
Document retention of the statutory record after a vacancy closesConfirm the period that applies to a closed vacancy's record and align the code to itInformation Officeropen
Operator agreements with the host and the email providerConfirm in writing that the agreements carry the section 8 requirements and the section 11 transfer termsOperatoropen
Consent banner, talent directory toggle, application consent, account deletion, CV gatingLive verification on the production server that each control behaves as this manual describesDeveloperpending

Annexure B — Breach register template

One row per incident, whether or not it turned out to be reportable. The fact that an entry exists is not an admission of breach; the fact that an entry is missing where one was needed is a problem.

FieldWhat goes in it
ReferenceBR-YYYY-NNN
Date and time detectedAs precisely as known
Reported by, and toWho found it and who was told
Nature of the compromiseLoss, unauthorised access, disclosure, alteration, or destruction
Systems and data affectedTables, files and endpoints involved
Categories and number of data subjectsWhat kind of information, and how many people
Containment action and timeWhat was done first, and when
Encryption statusWhether the information was encrypted at rest and in transit
Risk assessmentAre there reasonable grounds to believe that personal information was accessed or acquired by an unauthorised person? That is the s.22 threshold. Also record the consequences, the number of data subjects, and the reasoning, not just the conclusion
Regulator notifiedY/N, date, time, and the reference number
Data subjects notifiedY/N, date, what they were told, and the route used (mail, email, website notice, news media, or as the Regulator directed)
Section 22(3) delayWhere notification to the data subject was delayed: the identity of the body or the Regulator that determined that notification would impede a criminal investigation, and the date of that determination
Root cause and remediationWhat actually allowed it, and the fix
Lessons and control changesWhat goes into the safeguards so it does not recur
ClosedDate and the Information Officer's sign-off

Annexure C — Change log

Every change to this manual, to the three public notices, to the processing register, or to a technical control in section 8 is recorded here before it takes effect.

VersionDateChangeBy
1.021 October 2026First issue. Manual created alongside the rewritten Privacy Notice, Cookie Policy and Terms, and the implementation of the consent ledger, the talent directory opt-in, the application consent gate, the deletion cascade, the retention sweep and the administrative audit trailInformation Officer
——Next review due: 21 October 2027—

Annexure D — Related documents

  • Privacy Notice — what we tell the public, in plain language.
  • Cookie Policy — the cookies and local storage we use, and how to change your mind.
  • Terms & Conditions — the contract between you and SMJobs, including the employer obligations and the enforcement process.
  • Processing register — maintained by the Information Officer, held with this manual in the compliance file.
  • Rights request log — maintained by the Information Officer.
  • Breach register — maintained by the Information Officer, using the template in Annexure B.
  • Operator agreements with the hosting and email service providers — held with this manual in the compliance file.
Reviewing this manual

Read it against the code, not against the description of the code. Section 8 claims that a control exists; check that it does, because that is the whole purpose of the document. If a control in this manual is not true, the manual is the thing that is wrong — fix it before the Regulator, a data subject or a court finds it for you.

© 2026 SMJobs · South Africa's Jobs Platform · Terms & Conditions
Privacy Policy Cookie Policy Terms & Conditions Compliance Manual